我正在使用具有半透明颜色的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>)


通过使用位图,您可以调到像素级别以获取所需的确切内容。

08-25 20:54