如何填充区域除外的矩形

Bra*_*rad 1 c# winforms

我试图在winforms应用程序中填充矩形,而不是在中心填充椭圆,允许背景中的图像显示.

任何人都可以给我一个关于这个方向的提示,

谢谢.

这是我到目前为止所提出的:

  path.AddRectangle(new Rectangle(30, 30, 100, 100));
  path.AddEllipse(new Rectangle(50, 50, 60, 60));
  gfx.FillPath(new SolidBrush(Color.Black), path);
Run Code Online (Sandbox Code Playgroud)

替代文字

P D*_*ddy 10

protected override void OnPaint(PaintEventArgs e){
    var rgn  = new Region(new Rectangle(50, 50, 200, 100));
    var path = new GraphicsPath();
    path.AddEllipse(60, 60, 180, 80);
    rgn.Exclude(path);
    e.Graphics.FillRegion(Brushes.Blue, rgn);
}
Run Code Online (Sandbox Code Playgroud)