Region.Complement Region.Complement Region.Complement Region.Complement Method

Определение

Заменяет область Region на часть указанной структуры RectangleF, не пересекающейся с областью Region.Updates this Region to the portion of the specified RectangleF structure that does not intersect with this Region.

Перегрузки

Complement(Region) Complement(Region) Complement(Region)

Обновляет этот Region, чтобы включить в него часть указанного Region, которая не пересекается с этим Region.Updates this Region to contain the portion of the specified Region that does not intersect with this Region.

Complement(RectangleF) Complement(RectangleF) Complement(RectangleF) Complement(RectangleF)

Обновляет область Region, чтобы включить часть указанной структуры RectangleF, не пересекающейся с областью Region.Updates this Region to contain the portion of the specified RectangleF structure that does not intersect with this Region.

Complement(GraphicsPath) Complement(GraphicsPath) Complement(GraphicsPath) Complement(GraphicsPath)

Обновляет этот Region, чтобы включить в него часть указанного GraphicsPath, которая не пересекается с этим Region.Updates this Region to contain the portion of the specified GraphicsPath that does not intersect with this Region.

Complement(Rectangle) Complement(Rectangle) Complement(Rectangle) Complement(Rectangle)

Обновляет область Region, чтобы включить часть указанной структуры Rectangle, не пересекающейся с областью Region.Updates this Region to contain the portion of the specified Rectangle structure that does not intersect with this Region.

Complement(Region) Complement(Region) Complement(Region)

Обновляет этот Region, чтобы включить в него часть указанного Region, которая не пересекается с этим Region.Updates this Region to contain the portion of the specified Region that does not intersect with this Region.

public:
 void Complement(System::Drawing::Region ^ region);
public void Complement (System.Drawing.Region region);
member this.Complement : System.Drawing.Region -> unit

Параметры

region
Region Region Region Region

Объект Region, который будет дополнением этого объекта Region.The Region object to complement this Region object.

Исключения

Примеры

Следующий пример кода предназначен для работы с Windows Forms и требует PaintEventArgs e, который является параметром Paint обработчик событий.The following 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 one region using the first rectangle and creates a second region using the second rectangle.

  • Возвращает дополнение первой области, в сочетании с второго региона.Gets the complement of that first region when combined with the second region.

  • Выполняет заливку области дополнения синим цветом и отображает его на экране.Fills the complement area with blue and draws it to the screen.

Обратите внимание, что вторая область, не пересекающуюся с первой областью окрашена синий.Notice that the area of the second region that does not intersect with the first region is colored blue.

public:
   void Complement_Region_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.
      Rectangle complementRect = Rectangle(90,30,100,100);
      e->Graphics->DrawRectangle( Pens::Red, complementRect );

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

      // Create a complement region.
      System::Drawing::Region^ complementRegion = gcnew System::Drawing::Region( complementRect );

      // Get the complement of myRegion when combined with
      // complementRegion.
      myRegion->Complement( complementRegion );

      // Fill the complement area with blue.
      SolidBrush^ myBrush = gcnew SolidBrush( Color::Blue );
      e->Graphics->FillRegion( myBrush, myRegion );
   }
public void Complement_Region_Example(PaintEventArgs e)
{
             
    // Create the first rectangle and draw it to the screen in black.
    Rectangle regionRect = new Rectangle(20, 20, 100, 100);
    e.Graphics.DrawRectangle(Pens.Black, regionRect);
             
    // Create the second rectangle and draw it to the screen in red.
    Rectangle complementRect = new Rectangle(90, 30, 100, 100);
    e.Graphics.DrawRectangle(Pens.Red, complementRect);
             
    // Create a region from the first rectangle.
    Region myRegion = new Region(regionRect);
             
    // Create a complement region.
    Region complementRegion = new Region(complementRect);
             
    // Get the complement of myRegion when combined with
             
    // complementRegion.
    myRegion.Complement(complementRegion);
             
    // Fill the complement area with blue.
    SolidBrush myBrush = new SolidBrush(Color.Blue);
    e.Graphics.FillRegion(myBrush, myRegion);
}
Public Sub Complement_Region_Example(ByVal e As PaintEventArgs)

    ' Create the first rectangle and draw it to the screen in black.
    Dim regionRect As New Rectangle(20, 20, 100, 100)
    e.Graphics.DrawRectangle(Pens.Black, regionRect)

    ' Create the second rectangle and draw it to the screen in red.
    Dim complementRect As New Rectangle(90, 30, 100, 100)
    e.Graphics.DrawRectangle(Pens.Red, complementRect)

    ' create a region from the first rectangle.
    Dim myRegion As New [Region](regionRect)

    ' Create a complement region.
    Dim complementRegion As New [Region](complementRect)

    ' Get the complement of myRegion when combined with
    ' complementRegion.
    myRegion.Complement(complementRegion)

    ' Fill the complement area with blue.
    Dim myBrush As New SolidBrush(Color.Blue)
    e.Graphics.FillRegion(myBrush, myRegion)
End Sub

Complement(RectangleF) Complement(RectangleF) Complement(RectangleF) Complement(RectangleF)

Обновляет область Region, чтобы включить часть указанной структуры RectangleF, не пересекающейся с областью Region.Updates this Region to contain the portion of the specified RectangleF structure that does not intersect with this Region.

public:
 void Complement(System::Drawing::RectangleF rect);
public void Complement (System.Drawing.RectangleF rect);
member this.Complement : System.Drawing.RectangleF -> unit
Public Sub Complement (rect As RectangleF)

Параметры

rect
RectangleF RectangleF RectangleF RectangleF

Структура RectangleF, дополняющая область Region.The RectangleF structure to complement this Region.

Примеры

В следующем примере кода предназначен для работы с Windows Forms и требует PaintEventArgs e, который является параметром Paint обработчик событий.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 );
   }
public void Complement_RectF_Example(PaintEventArgs e)
{
             
    // Create the first rectangle and draw it to the screen in black.
    Rectangle regionRect = new 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 = new RectangleF(90, 30, 100, 100);
    e.Graphics.DrawRectangle(Pens.Red,
        Rectangle.Round(complementRect));
             
    // Create a region using the first rectangle.
    Region myRegion = new Region(regionRect);
             
    // Get the complement of the region combined with the second
             
    // rectangle.
    myRegion.Complement(complementRect);
             
    // Fill the complement area with blue.
    SolidBrush myBrush = new SolidBrush(Color.Blue);
    e.Graphics.FillRegion(myBrush, myRegion);
}
Public Sub Complement_RectF_Example(ByVal e As PaintEventArgs)

    ' Create the first rectangle and draw it to the screen in black.
    Dim regionRect As New Rectangle(20, 20, 100, 100)
    e.Graphics.DrawRectangle(Pens.Black, regionRect)

    ' Create the second rectangle and draw it to the screen in red.
    Dim complementRect As New RectangleF(90, 30, 100, 100)
    e.Graphics.DrawRectangle(Pens.Red, _
    Rectangle.Round(complementRect))

    ' Create a region using the first rectangle.
    Dim myRegion As New [Region](regionRect)

    ' Get the complement of the region combined with the second
    ' rectangle.
    myRegion.Complement(complementRect)

    ' Fill the complement area with blue.
    Dim myBrush As New SolidBrush(Color.Blue)
    e.Graphics.FillRegion(myBrush, myRegion)
End Sub

Complement(GraphicsPath) Complement(GraphicsPath) Complement(GraphicsPath) Complement(GraphicsPath)

Обновляет этот Region, чтобы включить в него часть указанного GraphicsPath, которая не пересекается с этим Region.Updates this Region to contain the portion of the specified GraphicsPath that does not intersect with this Region.

public:
 void Complement(System::Drawing::Drawing2D::GraphicsPath ^ path);
public void Complement (System.Drawing.Drawing2D.GraphicsPath path);
member this.Complement : System.Drawing.Drawing2D.GraphicsPath -> unit
Public Sub Complement (path As GraphicsPath)

Параметры

path
GraphicsPath GraphicsPath GraphicsPath GraphicsPath

GraphicsPath в дополнение к этому Region.The GraphicsPath to complement this Region.

Исключения

Примеры

В следующем примере кода предназначен для работы с Windows Forms и требует PaintEventArgs e, который является параметром Paint обработчик событий.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.

  • Создает GraphicsPathи к нему добавляется второй прямоугольник.Creates a GraphicsPath, and adds the second rectangle to it.

  • Возвращает дополнение области при объединении с GraphicsPath.Gets the complement of the region when combined with the GraphicsPath.

  • Выполняет заливку области дополнения синим цветом и отображает его на экране.Fills the complement area with blue and draws it to the screen.

Обратите внимание, что область GraphicsPath , не пересекающуюся с окрашена в синей области.Notice that the area of the GraphicsPath that does not intersect with the region is colored blue.

public:
   void Complement_Path_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.
      Rectangle complementRect = Rectangle(90,30,100,100);
      e->Graphics->DrawRectangle( Pens::Red, complementRect );

      // Create a graphics path and add the second rectangle to it.
      GraphicsPath^ complementPath = gcnew GraphicsPath;
      complementPath->AddRectangle( complementRect );

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

      // Get the complement of myRegion when combined with
      // complementPath.
      myRegion->Complement( complementPath );

      // Fill the complement area with blue.
      SolidBrush^ myBrush = gcnew SolidBrush( Color::Blue );
      e->Graphics->FillRegion( myBrush, myRegion );
   }
public void Complement_Path_Example(PaintEventArgs e)
{
             
    // Create the first rectangle and draw it to the screen in black.
    Rectangle regionRect = new Rectangle(20, 20, 100, 100);
    e.Graphics.DrawRectangle(Pens.Black, regionRect);
             
    // Create the second rectangle and draw it to the screen in red.
    Rectangle complementRect = new Rectangle(90, 30, 100, 100);
    e.Graphics.DrawRectangle(Pens.Red, complementRect);
             
    // Create a graphics path and add the second rectangle to it.
    GraphicsPath complementPath = new GraphicsPath();
    complementPath.AddRectangle(complementRect);
             
    // Create a region using the first rectangle.
    Region myRegion = new Region(regionRect);
             
    // Get the complement of myRegion when combined with
             
    // complementPath.
    myRegion.Complement(complementPath);
             
    // Fill the complement area with blue.
    SolidBrush myBrush = new SolidBrush(Color.Blue);
    e.Graphics.FillRegion(myBrush, myRegion);
}
Public Sub Complement_Path_Example(ByVal e As PaintEventArgs)

    ' Create the first rectangle and draw it to the screen in black.
    Dim regionRect As New Rectangle(20, 20, 100, 100)
    e.Graphics.DrawRectangle(Pens.Black, regionRect)

    ' Create the second rectangle and draw it to the screen in red.
    Dim complementRect As New Rectangle(90, 30, 100, 100)
    e.Graphics.DrawRectangle(Pens.Red, complementRect)

    ' Create a graphics path and add the second rectangle to it.
    Dim complementPath As New GraphicsPath
    complementPath.AddRectangle(complementRect)

    ' Create a region using the first rectangle.
    Dim myRegion As New [Region](regionRect)

    ' Get the complement of myRegion when combined with
    ' complementPath.
    myRegion.Complement(complementPath)

    ' Fill the complement area with blue.
    Dim myBrush As New SolidBrush(Color.Blue)
    e.Graphics.FillRegion(myBrush, myRegion)
End Sub

Complement(Rectangle) Complement(Rectangle) Complement(Rectangle) Complement(Rectangle)

Обновляет область Region, чтобы включить часть указанной структуры Rectangle, не пересекающейся с областью Region.Updates this Region to contain the portion of the specified Rectangle structure that does not intersect with this Region.

public:
 void Complement(System::Drawing::Rectangle rect);
public void Complement (System.Drawing.Rectangle rect);
member this.Complement : System.Drawing.Rectangle -> unit
Public Sub Complement (rect As Rectangle)

Параметры

rect
Rectangle Rectangle Rectangle Rectangle

Структура Rectangle, дополняющая область Region.The Rectangle structure to complement this Region.

Примеры

Например, см. в разделе Complement(RectangleF) метод.For an example, see the Complement(RectangleF) method.

Применяется к