我需要绘制(并填充)像素完美,非反对称的对称椭圆。
我尝试了InterpolationMode
,SmoothingMode
和PixelOffsetMode
的各种组合,但我尝试过的组合都没有确保椭圆保持对称且完全没有反对大小。
不幸的是,有关该主题的MSDN文档不是很准确。
用于绘图的代码:
g.InterpolationMode = InterpolationMode.NearestNeighbor;
g.SmoothingMode = SmoothingMode.None;
g.PixelOffsetMode = PixelOffsetMode.None;
g.DrawEllipse(new Pen(colorPalette.SelectedColor), rect);
填充非反椭圆椭圆也是如此。
有人知道这方面的解决方案吗?
答案 0 :(得分:2)
e.Graphics.InterpolationMode = InterpolationMode.Bilinear;
e.Graphics.PixelOffsetMode = PixelOffsetMode.Half;
e.Graphics.SmoothingMode = SmoothingMode.None;
e.Graphics.FillEllipse(Brushes.Black, rect);
答案 1 :(得分:0)
如果您还没有达到视网膜显示的理想圆,则根据Leff的回答,将平滑模式更改为抗锯齿或高质量会固定像素化圆。
e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;