我想填补我的两个半圈。我希望一边是黑色,另一边是白色。我该用什么?
以下是我的代码片段:
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Rectangle rect = new Rectangle(100, 100, 320, 320);
e.Graphics.DrawArc(new Pen(new SolidBrush(Color.Black), 10), rect, 90, 180);
e.Graphics.DrawArc(new Pen(new SolidBrush(Color.White), 10), rect, 270, 180);
}
答案 0 :(得分:3)
您期望被称为FillArc
的内容实际上称为FillPie
。
它采用与DrawArc
相同的参数,因此这样做:
e.Graphics.FillPie(Brushes.White, rect, 90, 180);
e.Graphics.FillPie(Brushes.Black, rect, 270, 180);
如果你想使用相同的矩形,你可以用笔宽度“缩小”它的1/2:
rect.Inflate(-5, -5);
使用
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
你明白了: