Graphics::IntersectClip Method (Region^)
Updates the clip region of this Graphics to the intersection of the current clip region and the specified Region.
Assembly: System.Drawing (in System.Drawing.dll)
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).
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 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.
The result is that only the intersection of the two regions is filled with blue.
public: void IntersectClipRegion( PaintEventArgs^ e ) { // Set clipping region. Rectangle clipRect = Rectangle(0,0,200,200); System::Drawing::Region^ clipRegion = gcnew System::Drawing::Region( clipRect ); e->Graphics->SetClip( clipRegion, CombineMode::Replace ); // Update clipping region to intersection of // existing region with specified rectangle. Rectangle intersectRect = Rectangle(100,100,200,200); System::Drawing::Region^ intersectRegion = gcnew System::Drawing::Region( intersectRect ); e->Graphics->IntersectClip( intersectRegion ); // Fill rectangle to demonstrate effective clipping region. e->Graphics->FillRectangle( gcnew SolidBrush( Color::Blue ), 0, 0, 500, 500 ); // Reset clipping region to infinite. e->Graphics->ResetClip(); // Draw clipRect and intersectRect to screen. e->Graphics->DrawRectangle( gcnew Pen( Color::Black ), clipRect ); e->Graphics->DrawRectangle( gcnew Pen( Color::Red ), intersectRect ); }
Available since 1.1