This documentation is archived and is not being maintained.

Graphics.IntersectClip Method

Updates the clip region of this Graphics object to the intersection of the current clip region and the specified Rectangle structure.

Overload List

Updates the clip region of this Graphics object to the intersection of the current clip region and the specified Rectangle structure.

[Visual Basic] Overloads Public Sub IntersectClip(Rectangle)
[C#] public void IntersectClip(Rectangle);
[C++] public: void IntersectClip(Rectangle);
[JScript] public function IntersectClip(Rectangle);

Updates the clip region of this Graphics object to the intersection of the current clip region and the specified RectangleF structure.

[Visual Basic] Overloads Public Sub IntersectClip(RectangleF)
[C#] public void IntersectClip(RectangleF);
[C++] public: void IntersectClip(RectangleF);
[JScript] public function IntersectClip(RectangleF);

Updates the clip region of this Graphics object to the intersection of the current clip region and the specified Region object.

[Visual Basic] Overloads Public Sub IntersectClip(Region)
[C#] public void IntersectClip(Region);
[C++] public: void IntersectClip(Region*);
[JScript] public function IntersectClip(Region);

Example

[Visual Basic, C#] The following example is designed for use with Windows Forms, and it requires PaintEventArgs e, which is a parameter of the Paint event handler. The code performs the following actions:

  • Creates a rectangle with upper-left corner at (0, 0).
  • Creates a region and sets it to the rectangle, and sets the clipping region to this region.
  • Creates a second rectangle with upper-left corner at (100, 100).
  • Creates a region and sets it to the second rectangle, and sets the clipping region to the intersection of this region and the current clipping region (the first rectangle) using a combine mode of CombineMode.Replace.
  • Fills a large rectangle that includes both previous regions with a solid blue brush.
  • Resets the clipping region to infinite.
  • Draws rectangles around the two clipping regions. It uses a black pen for the first clipping region and a red pen for the second clipping region.

[Visual Basic, C#] The result is that only the intersection of the two regions is filled with blue.

[Visual Basic, C#] Note   This example shows how to use one of the overloaded versions of IntersectClip. For other examples that might be available, see the individual overload topics.
[Visual Basic] 
Public Sub IntersectClipRegion(e As PaintEventArgs)
' Set clipping region.
Dim clipRect As New Rectangle(0, 0, 200, 200)
Dim clipRegion As New [Region](clipRect)
e.Graphics.SetClip(clipRegion, CombineMode.Replace)
' Update clipping region to intersection of
' existing region with specified rectangle.
Dim intersectRect As New Rectangle(100, 100, 200, 200)
Dim intersectRegion As New [Region](intersectRect)
e.Graphics.IntersectClip(intersectRegion)
' Fill rectangle to demonstrate effective clipping region.
e.Graphics.FillRectangle(New SolidBrush(Color.Blue), 0, 0, _
500, 500)
' Reset clipping region to infinite.
e.Graphics.ResetClip()
' Draw clipRect and intersectRect to screen.
e.Graphics.DrawRectangle(New Pen(Color.Black), clipRect)
e.Graphics.DrawRectangle(New Pen(Color.Red), intersectRect)
End Sub
        
[C#] 
public void IntersectClipRegion(PaintEventArgs e)
{
// Set clipping region.
Rectangle clipRect = new Rectangle(0, 0, 200, 200);
Region clipRegion = new Region(clipRect);
e.Graphics.SetClip(clipRegion, CombineMode.Replace);
// Update clipping region to intersection of
//  existing region with specified rectangle.
Rectangle intersectRect = new Rectangle(100, 100, 200, 200);
Region intersectRegion = new Region(intersectRect);
e.Graphics.IntersectClip(intersectRegion);
// Fill rectangle to demonstrate effective clipping region.
e.Graphics.FillRectangle(new SolidBrush(Color.Blue), 0, 0, 500, 500);
// Reset clipping region to infinite.
e.Graphics.ResetClip();
// Draw clipRect and intersectRect to screen.
e.Graphics.DrawRectangle(new Pen(Color.Black), clipRect);
e.Graphics.DrawRectangle(new Pen(Color.Red), intersectRect);
}
        

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

See Also

Graphics Class | Graphics Members | System.Drawing Namespace

Show: