1

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

他们是这样的:

这是没有透明度的结果

这是没有透明度的结果

如果我将笔的 alpha 值设置为 100,结果如下:

如果我将笔的 alpha 值设置为 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)}

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

4

0 回答 0