Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 填充包含另一形状的形状的特定区域_C#_Winforms_Drawing - Fatal编程技术网

C# 填充包含另一形状的形状的特定区域

C# 填充包含另一形状的形状的特定区域,c#,winforms,drawing,C#,Winforms,Drawing,在Winforms应用程序中,我正在做2D绘图。 例如,当我尝试填充一个包含圆的矩形时。我只希望圆外的区域应该用指定的颜色填充。 我试过了,但是整个矩形都被填满了。只要试一下,就可以得到想要的输出。打开windows窗体并添加按钮。在按钮单击事件中,只需添加以下代码: Region rgn = new Region(new Rectangle(50, 50, 200, 150)); System.Drawing.Drawing2D.GraphicsPath path = new System.D

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

只要试一下,就可以得到想要的输出。打开windows窗体并添加按钮。在按钮单击事件中,只需添加以下代码:

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(Path)”将帮助您绘制矩形,但不包括其中的圆。

请添加更多细节。您到底尝试了什么代码?是的,我们可以使用更多细节,但如果这是一个有用的想法:您可以先绘制矩形,然后绘制填充了任何背景/基础颜色的圆。这个问题相关吗?这些代码对我帮助很大。非常感谢你。