Region.Exclude Region.Exclude Region.Exclude Region.Exclude Method

Определение

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

Перегрузки

Exclude(Region) Exclude(Region) Exclude(Region)

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

Exclude(GraphicsPath) Exclude(GraphicsPath) Exclude(GraphicsPath) Exclude(GraphicsPath)

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

Exclude(Rectangle) Exclude(Rectangle) Exclude(Rectangle) Exclude(Rectangle)

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

Exclude(RectangleF) Exclude(RectangleF) Exclude(RectangleF) Exclude(RectangleF)

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

Exclude(Region) Exclude(Region) Exclude(Region)

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

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

Параметры

region
Region Region Region Region

Контур Region, исключаемый из области Region.The Region to exclude from this Region.

Исключения

Примеры

Примеры кода, см. в разделе Exclude(RectangleF) и Complement(Region) методы.For code examples, see the Exclude(RectangleF) and Complement(Region) methods.

Exclude(GraphicsPath) Exclude(GraphicsPath) Exclude(GraphicsPath) Exclude(GraphicsPath)

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

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

Параметры

path
GraphicsPath GraphicsPath GraphicsPath GraphicsPath

Контур GraphicsPath, исключаемый из области Region.The GraphicsPath to exclude from this Region.

Исключения

Примеры

В следующем примере кода показано Region конструктор и Exclude и Dispose методы.The following code example demonstrates the Region constructor and the Exclude and Dispose methods.

Этот пример предназначен для использования с Windows Forms.This example is designed to be used with Windows Forms. Вставьте код в форму и вызовите FillRegionExcludingPath метод при обработке формы Paint передачи событий e как PaintEventArgs.Paste the code into a form and call the FillRegionExcludingPath method when handling the form's Paint event, passing e as PaintEventArgs.

private:
   void FillRegionExcludingPath( PaintEventArgs^ e )
   {
      // Create the region using a rectangle.
      System::Drawing::Region^ myRegion = gcnew System::Drawing::Region( Rectangle(20,20,100,100) );

      // Create the GraphicsPath.
      System::Drawing::Drawing2D::GraphicsPath^ path = gcnew System::Drawing::Drawing2D::GraphicsPath;

      // Add a circle to the graphics path.
      path->AddEllipse( 50, 50, 25, 25 );

      // Exclude the circle from the region.
      myRegion->Exclude( path );

      // Retrieve a Graphics object from the form.
      Graphics^ formGraphics = e->Graphics;

      // Fill the region in blue.
      formGraphics->FillRegion( Brushes::Blue, myRegion );

      // Dispose of the path and region objects.
      delete path;
      delete myRegion;
   }
private void FillRegionExcludingPath(PaintEventArgs e)
{

    // Create the region using a rectangle.
    Region myRegion = new Region(new Rectangle(20, 20, 100, 100));

    // Create the GraphicsPath.
    System.Drawing.Drawing2D.GraphicsPath path = 
        new System.Drawing.Drawing2D.GraphicsPath();

    // Add a circle to the graphics path.
    path.AddEllipse(50, 50, 25, 25);

    // Exclude the circle from the region.
    myRegion.Exclude(path);

    // Retrieve a Graphics object from the form.
    Graphics formGraphics = e.Graphics;

    // Fill the region in blue.
    formGraphics.FillRegion(Brushes.Blue, myRegion);

    // Dispose of the path and region objects.
    path.Dispose();
    myRegion.Dispose();

}
Private Sub FillRegionExcludingPath(ByVal e As PaintEventArgs)

    ' Create the region using a rectangle.
    Dim myRegion As New Region(New Rectangle(20, 20, 100, 100))

    ' Create the GraphicsPath.
    Dim path As New System.Drawing.Drawing2D.GraphicsPath

    ' Add a circle to the graphics path.
    path.AddEllipse(50, 50, 25, 25)

    ' Exclude the circle from the region.
    myRegion.Exclude(path)

    ' Retrieve a Graphics object from the form.
    Dim formGraphics As Graphics = e.Graphics

    ' Fill the region in blue.
    formGraphics.FillRegion(Brushes.Blue, myRegion)

    ' Dispose of the path and region objects.
    path.Dispose()
    myRegion.Dispose()

End Sub

Exclude(Rectangle) Exclude(Rectangle) Exclude(Rectangle) Exclude(Rectangle)

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

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

Параметры

rect
Rectangle Rectangle Rectangle Rectangle

Структура Rectangle, исключаемая из этой области Region.The Rectangle structure to exclude from this Region.

Примеры

Пример кода см. в разделе Exclude(RectangleF) метод.For a code example, see the Exclude(RectangleF) method.

Exclude(RectangleF) Exclude(RectangleF) Exclude(RectangleF) Exclude(RectangleF)

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

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

Параметры

rect
RectangleF RectangleF RectangleF RectangleF

Структура RectangleF, исключаемая из этой области Region.The RectangleF structure to exclude from this Region.

Примеры

Следующий пример кода предназначен для работы с 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 a region using the first rectangle.

  • Возвращает неисключенную области в сочетании с второй прямоугольник.Gets the nonexcluded area of the region when combined with the second rectangle.

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

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

public:
   void Exclude_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 nonexcluded area of myRegion when combined with
      // complementRect.
      myRegion->Exclude( complementRect );
      
      // Fill the nonexcluded area of myRegion with blue.
      SolidBrush^ myBrush = gcnew SolidBrush( Color::Blue );
      e->Graphics->FillRegion( myBrush, myRegion );
   }
public void Exclude_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 nonexcluded area of myRegion when combined with
             
    // complementRect.
    myRegion.Exclude(complementRect);
             
    // Fill the nonexcluded area of myRegion with blue.
    SolidBrush myBrush = new SolidBrush(Color.Blue);
    e.Graphics.FillRegion(myBrush, myRegion);
}
Public Sub Exclude_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 nonexcluded area of myRegion when combined with
    ' complementRect.
    myRegion.Exclude(complementRect)

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

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