Region::Complement Method (RectangleF)

 

Updates this Region to contain the portion of the specified RectangleF structure that does not intersect with this Region.

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

public:
void Complement(
	RectangleF rect
)

Parameters

rect
Type: System.Drawing::RectangleF

The RectangleF structure to complement this Region.

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 and draws it to the screen in black.

  • Creates a second rectangle that intersects with the first and draws it to the screen in red.

  • Creates a region using the first rectangle.

  • Gets the complement of that region combined with the second rectangle.

  • Fills the complement area with blue and draws it to the screen.

Notice that the area of the second rectangle that does not intersect with the region is colored blue.

public:
   void Complement_RectF_Example( PaintEventArgs^ e )
   {
      // Create the first rectangle and draw it to the screen in black.
      Rectangle regionRect = Rectangle(20,20,100,100);
      e->Graphics->DrawRectangle( Pens::Black, regionRect );

      // Create the second rectangle and draw it to the screen in red.
      RectangleF complementRect = RectangleF(90,30,100,100);
      e->Graphics->DrawRectangle( Pens::Red, Rectangle::Round( complementRect ) );

      // Create a region using the first rectangle.
      System::Drawing::Region^ myRegion = gcnew System::Drawing::Region( regionRect );

      // Get the complement of the region combined with the second
      // rectangle.
      myRegion->Complement( complementRect );

      // Fill the complement area with blue.
      SolidBrush^ myBrush = gcnew SolidBrush( Color::Blue );
      e->Graphics->FillRegion( myBrush, myRegion );
   }

.NET Framework
Available since 1.1
Return to top
Show: