我最近发现了GDI plus的DrawPolygon API的奇怪行为。也就是说,如果我将笔的alpha值设置为255(无透明度),它会给我一个结果,但如果我将alpha设置为0-255之间的数字,它会给我另一个结果。
他们是:
这是没有透明度的结果
如果我将笔的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)}
你知道这种差异的原因吗?