void DrawImageIntersectClip(Graphics g) { // Create the first rectangle and draw it to the screen in black. Rectangle regionRect = new Rectangle(20, 20, 100, 100); g.DrawRectangle(Pens.Black, regionRect); // create the second rectangle and draw it to the screen in red. RectangleF complementRect = new RectangleF(90, 30, 100, 100); g.DrawRectangle(Pens.Red, Rectangle.Round(complementRect)); // Create a region using the first rectangle. Region myRegion = new Region(regionRect); // Get the area of intersection for myRegion when combined with // complementRect. myRegion.Intersect(complementRect); var unionRect = complementRect.UnionWith (regionRect); g.DrawRectangle(Pens.Green, Rectangle.Round(unionRect)); g.Clip = myRegion; g.DrawImage(bmp2, unionRect); title = "DrawImageIntersetClip"; }