最近、GDI plus の DrawPolygon API の動作がおかしいことに気づきました。つまり、ペンのアルファ値を 255 (透明度なし) に設定すると結果が得られますが、アルファを 0 ~ 255 の数値に設定すると、別の結果が得られます。
ここにそれらがあります:
これは透明度のない結果です
これは、ペンのアルファ値を 100 に設定した場合の結果です。
ペンのアルファ値の違いがなければ、両方とも以下のように同じ条件になります。
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)}
この違いの理由を知っていますか?