我如何填写我的半圈?

时间:2015-11-15 02:49:06

标签: c# drawing

我想填补我的两个半圈。我希望一边是黑色,另一边是白色。我该用什么?

以下是我的代码片段:

    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);
    }

1 个答案:

答案 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;

你明白了:

enter image description here