我对 GraphicPaths 进行了实验,发现有趣的事情:DrawArc() 具有相同的椭圆宽度和高度,但不同的起始角度 (0,90,180,270) 是不同的代码:
GraphicsPath pth = new GraphicsPath();
pth.AddArc(10, 10, 16, 16, 180, 90);
pth.AddArc( 40, 10, 16, 16, 270, 90);
pth.AddArc( 40, 40, 16, 16, 0, 90);
pth.AddArc( 10, 40, 16, 16, 90, 90);
e.Graphics.FillPath(new SolidBrush(Color.FromArgb(100, 120, 200)), pth);
预期的:
但是画了(只有左上弧是正确的):
如何解决?