我正在使用 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,但我需要使用半透明颜色。如果它能有所作为,我正在绘制图像。
最佳答案
您想使用位图并执行类似的操作。请注意,这不是可运行的代码。
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>)
通过使用位图,您可以调整到像素级别以获得您想要的确切内容。
关于c# - 我可以避免 FillPolygon 与 DrawPolygon 的错误/不同渲染吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/363099/