8

ピクセルパーフェクトで、アンチエイリアスされていない対称楕円を描画 (および塗りつぶし) する必要があります。

InterpolationMode、 、のさまざまな組み合わせを試しましたが、楕円がすべてのサイズで対称でSmoothingModeありPixelOffsetMode、アンチエイリアスされていないことを確認した組み合わせはありませんでした。

残念ながら、この件に関する MSDN ドキュメントはあまり正確ではありません。

すべてのサイズで対称ではない楕円

描画に使用されるコード:

g.InterpolationMode = InterpolationMode.NearestNeighbor;
g.SmoothingMode = SmoothingMode.None;
g.PixelOffsetMode = PixelOffsetMode.None;                                
g.DrawEllipse(new Pen(colorPalette.SelectedColor), rect);

アンチエイリアスされていない楕円を塗りつぶす場合も同様です。

誰かがこれの解決策を知っていますか?

4

2 に答える 2

2

これを試してみてください、それは十分に完璧ですか?:)

e.Graphics.InterpolationMode = InterpolationMode.Bilinear;
e.Graphics.PixelOffsetMode = PixelOffsetMode.Half;
e.Graphics.SmoothingMode = SmoothingMode.None;
e.Graphics.FillEllipse(Brushes.Black, rect);
于 2013-01-29T13:24:01.863 に答える