Graphics.IntersectClip Method (Rectangle)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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

Namespace:   System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)

Public Sub IntersectClip (
	rect As Rectangle
)

Parameters

rect
Type: System.Drawing.Rectangle

Rectangle structure to intersect with the current clip region.

This method assigns to the Clip property of this Graphics the area represented by the intersection of the current clip region and the rectangle specified by the rect parameter.

The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, 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) and sets the clipping region to this rectangle.

  • Creates a second rectangle with upper-left corner at (100, 100) and sets the clipping region to the intersection of this rectangle and the current clipping region (the first rectangle).

  • Fills a large rectangle that includes both previous rectangles 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 rectangle and a red pen for the second clipping region.

The result is that only the intersection of the two rectangles is filled with blue.

Private Sub IntersectClipRectangle(ByVal e As PaintEventArgs)

    ' Set clipping region.
    Dim clipRect As New Rectangle(0, 0, 200, 200)
    e.Graphics.SetClip(clipRect)

    ' Update clipping region to intersection of

    ' existing region with specified rectangle.
    Dim intersectRect As New Rectangle(100, 100, 200, 200)
    e.Graphics.IntersectClip(intersectRect)

    ' 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

.NET Framework
Available since 1.1
Return to top
Show: