GDI Plus DrawPolygon根据alpha值给出不同的结果

时间:2017-07-14 03:17:25

标签: polygon gdi+ alpha pen

我最近发现了GDI plus的DrawPolygon API的奇怪行为。也就是说,如果我将笔的alpha值设置为255(无透明度),它会给我一个结果,但如果我将alpha设置为0-255之间的数字,它会给我另一个结果。

他们是:

这是没有透明度的结果

This is the result with no transparency

如果我将笔的alpha值设置为100,这就是结果:

And this is the result with if I set the alpha value of the pen to 100:

没有笔的alpha值的差异,它们都具有与下面相同的条件:

gdi.InterpolationMode = GDI.Drawing2D.InterpolationMode.NearestNeighbor;
gdi.SmoothingMode = GDI.Drawing2D.SmoothingMode.None;
gdi.CompositingMode = GDI.Drawing2D.CompositingMode.SourceCopy;

GDI.Pen pen = new GDI.Pen(GDI.Color.FromArgb(a, r, g, b), 1); // The pen width is 1

绘制点数组:{(0,2),(2,2),(1,0)}

你知道这种差异的原因吗?

0 个答案:

没有答案