10 个解决方案
#1
你的问题太专业了吧,看过北航的计算机系做过一个三维建模的东西,挺厉害的,呵呵,估计他们不来这里
#2
锯齿边界要用图形反走样算法来实现,包括图元反走样和场景反走样。场景反走样opengl有相关函数,图元反走样可能要自己写一点算法。
填充指的什么?多边形填充?flood-fill算法没啥问题啊。
填充指的什么?多边形填充?flood-fill算法没啥问题啊。
#3
我指的是通过插值根据散点数据生成等值线,同时还生成网格,然后将等值线画出,等值线画时需要进行填充颜色,也就是在两条等值线之间画上根据一个算法生成的不同颜色,现在我是根据网格的值判断某一网格填充什么颜色,是对一个一个的网格进行填充,所以产生锯齿边界,填充出的图特别难看,我想问问有什么其它的好方法解决这个问题。
#4
你可以用alpha混合的方法来消除锯齿啊,
不同颜色间如果超过一定阈值,就进行alpha混合啊。GDI和GDI+都有相应的函数来进行操作,
GDI+更方便,更容易控制。
不同颜色间如果超过一定阈值,就进行alpha混合啊。GDI和GDI+都有相应的函数来进行操作,
GDI+更方便,更容易控制。
#5
你考虑一下用等值线来造区,再填充区试试看
#6
asett1(asett1)你说的GDI函数是哪些,请详细说明一下
cloudrain(supxb)说的的方法实现起来很困难,我原来也考虑过这种方法,但没想出该怎么做,你有什么好的思路能说一下吗,谢谢
cloudrain(supxb)说的的方法实现起来很困难,我原来也考虑过这种方法,但没想出该怎么做,你有什么好的思路能说一下吗,谢谢
#7
給一个线性填充的例子,GDI+的
The following example uses a horizontal linear gradient brush to fill a line, an ellipse, and a rectangle:
LinearGradientBrush linGrBrush(
Point(0, 10),
Point(200, 10),
Color(255, 255, 0, 0), // opaque red
Color(255, 0, 0, 255)); // opaque blue
Pen pen(&linGrBrush);
graphics.DrawLine(&pen, 0, 10, 200, 10);
graphics.FillEllipse(&linGrBrush, 0, 30, 200, 100);
graphics.FillRectangle(&linGrBrush, 0, 155, 500, 30);
The following example uses a horizontal linear gradient brush to fill a line, an ellipse, and a rectangle:
LinearGradientBrush linGrBrush(
Point(0, 10),
Point(200, 10),
Color(255, 255, 0, 0), // opaque red
Color(255, 0, 0, 255)); // opaque blue
Pen pen(&linGrBrush);
graphics.DrawLine(&pen, 0, 10, 200, 10);
graphics.FillEllipse(&linGrBrush, 0, 30, 200, 100);
graphics.FillRectangle(&linGrBrush, 0, 155, 500, 30);
#8
有GDI中的例子吗?我现在用的还是VC6,GDI+是.NET里面的吧,再次感谢!!!
#9
GDI+可以用在vc6里,我用了*年了 ^_^
#10
不好意思,我才刚开始做程序,还很多东西不懂,我的QQ号是17672270,asett1(asett1)你能加我吗?那样大家交流起来就方便一点。
我现在这个问题基本上解决了,我们领导的给的一个算法,多谢大家的帮忙!!!
我现在这个问题基本上解决了,我们领导的给的一个算法,多谢大家的帮忙!!!
#1
你的问题太专业了吧,看过北航的计算机系做过一个三维建模的东西,挺厉害的,呵呵,估计他们不来这里
#2
锯齿边界要用图形反走样算法来实现,包括图元反走样和场景反走样。场景反走样opengl有相关函数,图元反走样可能要自己写一点算法。
填充指的什么?多边形填充?flood-fill算法没啥问题啊。
填充指的什么?多边形填充?flood-fill算法没啥问题啊。
#3
我指的是通过插值根据散点数据生成等值线,同时还生成网格,然后将等值线画出,等值线画时需要进行填充颜色,也就是在两条等值线之间画上根据一个算法生成的不同颜色,现在我是根据网格的值判断某一网格填充什么颜色,是对一个一个的网格进行填充,所以产生锯齿边界,填充出的图特别难看,我想问问有什么其它的好方法解决这个问题。
#4
你可以用alpha混合的方法来消除锯齿啊,
不同颜色间如果超过一定阈值,就进行alpha混合啊。GDI和GDI+都有相应的函数来进行操作,
GDI+更方便,更容易控制。
不同颜色间如果超过一定阈值,就进行alpha混合啊。GDI和GDI+都有相应的函数来进行操作,
GDI+更方便,更容易控制。
#5
你考虑一下用等值线来造区,再填充区试试看
#6
asett1(asett1)你说的GDI函数是哪些,请详细说明一下
cloudrain(supxb)说的的方法实现起来很困难,我原来也考虑过这种方法,但没想出该怎么做,你有什么好的思路能说一下吗,谢谢
cloudrain(supxb)说的的方法实现起来很困难,我原来也考虑过这种方法,但没想出该怎么做,你有什么好的思路能说一下吗,谢谢
#7
給一个线性填充的例子,GDI+的
The following example uses a horizontal linear gradient brush to fill a line, an ellipse, and a rectangle:
LinearGradientBrush linGrBrush(
Point(0, 10),
Point(200, 10),
Color(255, 255, 0, 0), // opaque red
Color(255, 0, 0, 255)); // opaque blue
Pen pen(&linGrBrush);
graphics.DrawLine(&pen, 0, 10, 200, 10);
graphics.FillEllipse(&linGrBrush, 0, 30, 200, 100);
graphics.FillRectangle(&linGrBrush, 0, 155, 500, 30);
The following example uses a horizontal linear gradient brush to fill a line, an ellipse, and a rectangle:
LinearGradientBrush linGrBrush(
Point(0, 10),
Point(200, 10),
Color(255, 255, 0, 0), // opaque red
Color(255, 0, 0, 255)); // opaque blue
Pen pen(&linGrBrush);
graphics.DrawLine(&pen, 0, 10, 200, 10);
graphics.FillEllipse(&linGrBrush, 0, 30, 200, 100);
graphics.FillRectangle(&linGrBrush, 0, 155, 500, 30);
#8
有GDI中的例子吗?我现在用的还是VC6,GDI+是.NET里面的吧,再次感谢!!!
#9
GDI+可以用在vc6里,我用了*年了 ^_^
#10
不好意思,我才刚开始做程序,还很多东西不懂,我的QQ号是17672270,asett1(asett1)你能加我吗?那样大家交流起来就方便一点。
我现在这个问题基本上解决了,我们领导的给的一个算法,多谢大家的帮忙!!!
我现在这个问题基本上解决了,我们领导的给的一个算法,多谢大家的帮忙!!!