2012-12-10 49 views
0

在Winforms应用程序中,我在做2D绘图。例如, 当我尝试填充一个矩形,其中包含一个圆。我只想要区域以外的区域应该填充指定的颜色。 我试过了,但是整个矩形都被填满了。填充包含另一个形状的形状的特定区域

+2

请添加更多的细节。你究竟尝试了什么代码? –

+0

是的,我们可以使用更多的细节,但如果这是一个有用的想法:您可以先画矩形,然后绘制填充了任何背景/底色的圆。 – DarenW

+0

这个问题有关吗? http://stackoverflow.com/q/367226/10468 – DarenW

回答

0

试试这个来获得想要的输出。打开一个窗体并添加一个按钮。在按钮单击事件,只需添加以下代码:

Region rgn = new Region(new Rectangle(50, 50, 200, 150)); 
System.Drawing.Drawing2D.GraphicsPath path = new System.Drawing.Drawing2D.GraphicsPath(); 
path.AddEllipse(60, 60, 100, 100); 
rgn.Exclude(path); 
Graphics g = this.CreateGraphics(); 
g.FillRegion(Brushes.Blue, rgn); 

“rgn.Exclude(路径)”将帮助您绘制矩形排除里面的圆。