我正在使用半透明颜色的FillPolygon来绘制三角形(箭头指针)。我注意到FillPolygon用isocel三角形给出了尴尬的结果。其中一方是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,但我需要使用半透明颜色。如果它可以产生影响,我正在绘制图像。
答案 0 :(得分:1)
您想使用位图并执行类似的操作。请注意,这不是可运行的代码。
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>)
通过使用位图,您可以调整到像素级别以获得您想要的确切内容。
答案 1 :(得分:0)
Hack:在中间缓冲区中将整个箭头绘制为不透明,然后使用适当的透明度将整个缓冲区绘制到图像上。