我仍在模拟雷达(或试图)并通过试验和错误设法在我的图片框背景上绘制一个馅饼,或多或少地覆盖了我想要绘制的目标区域。现在我正试图将该区域作为裁剪区域。我该如何实现这一目标?我没有遇到任何能够清楚解释这一点的事情。我有以下代码:
void OnPaintRadar(Object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
Rectangle radar_rect = new Rectangle(myRadarBox.Left + 90, myRadarBox.Left + 18, myRadarBox.Width - 200, myRadarBox.Height + 200);
using (Pen drw_pen = new Pen(Color.White, 1) )
{
g.DrawPie(drw_pen,radar_rect, 180, 180);
}
}
我现在要做的就是做馅饼我刚刚画了剪裁区。
答案 0 :(得分:1)
您不能使用您在图形上绘制的饼图,您需要为该区域单独定义它:
GraphicsPath gpath new GraphicsPath();
gpath.AddPie(rect, startAngle, sweepAngle);
gpath.CloseFigure();
this.Region = new Region(gpath);