我正在使用具有半透明颜色的FillPolygon绘制三角形(箭头指针)。我注意到,FillPolygon用等速三角形给出了尴尬的结果。一侧之一与DrawPolygon的一侧重叠,而另一侧则不重叠。我本来不会期望全部或全部,但不会期望介于两者之间。
这是一个示例:DrawPolygon使用半透明的红色,而FillPolygon使用半透明的绿色。您可以看到一侧为棕色,另一侧为红色。
alt text http://www.slimcode.com/downloads/arrow.png
此示例的坐标为:{X = 36,Y = 201},{X = 42,Y = 207},{X = 30,Y = 207}。
使用不透明的颜色可以解决所有问题,因为我可以同时调用DrawPolygon和FillPolygon,但是我需要使用半透明颜色。我正在绘制图像,如果它可以有所作为。
最佳答案
您要使用位图并执行类似的操作。请注意,这不是可运行的代码。
Dim image As New Bitmap(<my_Xsize>, <my_Ysize>)
Dim gr As Graphics = Graphics.FromImage(image)
<Draw your FillPolygon>
<Erase the leftside of the polygon>
<Draw your Polygon>
gr.DrawImage(image, <myXcoor>, <myYcoor>)
通过使用位图,您可以调到像素级别以获取所需的确切内容。