Mega Code Archive

 
Categories / C# Tutorial / 2D Graphics
 

Create a Region object, cut a rectangular hole in it, and fill it

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());     } }