Create a Region object, cut a rectangular hole in it, and fill it : Region « 2D « C# / CSharp Tutorial






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form {
    protected override void OnPaint(PaintEventArgs e) {
    Graphics g = e.Graphics;
    g.FillRectangle(Brushes.White, this.ClientRectangle);
    Region r = new Region(new Rectangle(30, 30, 30, 60));
    r.Exclude(new Rectangle(40, 40, 10, 10));
    g.FillRegion(Brushes.Orange, r);
    Console.WriteLine("This Region: ");
    Console.WriteLine(r.IsInfinite(g) ? " - is infinite" : " - is finite");
    Console.WriteLine(r.IsEmpty(g) ? " - is empty" : " - is non-empty");

    PointF pf = new PointF(35.0f, 30.0f);
    Console.WriteLine((r.IsVisible(pf) ? " - includes" : " - excludes") + " the point (35.0, 50.0)");

    Rectangle rect = new Rectangle(25, 65, 15, 15);
    g.DrawRectangle(Pens.Black, rect);
    Console.WriteLine((r.IsVisible(rect) ? " - is visible" : " - is invisible") + " in the rectangle shown");

    r.Dispose();
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}








27.11.Region
27.11.1.Region.IsVisible
27.11.2.Create an irregular Region add a circle to the region
27.11.3.Create a Region whose boundary is the above GraphicsPath
27.11.4.Create a Region object, cut a rectangular hole in it, and fill it