Region.Complement Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Заменяет область Region на часть указанной структуры RectangleF, не пересекающейся с областью Region.
Перегрузки
Complement(Region) |
Обновляет этот Region, чтобы включить в него часть указанного Region, которая не пересекается с этим Region. |
Complement(RectangleF) |
Обновляет область Region, чтобы включить часть указанной структуры RectangleF, не пересекающейся с областью Region. |
Complement(GraphicsPath) |
Обновляет этот Region, чтобы включить в него часть указанного GraphicsPath, которая не пересекается с этим Region. |
Complement(Rectangle) |
Обновляет область Region, чтобы включить часть указанной структуры Rectangle, не пересекающейся с областью Region. |
Complement(Region)
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
public:
void Complement(System::Drawing::Region ^ region);
public void Complement (System.Drawing.Region region);
member this.Complement : System.Drawing.Region -> unit
Public Sub Complement (region As Region)
Параметры
Исключения
region
имеет значение null
.
Примеры
Следующий пример предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает прямоугольник и рисует его на экране черным цветом
Создает второй прямоугольник, пересекающийся с первым, и рисует его на экране красным цветом.
Создает одну область с помощью первого прямоугольника, а вторую — с помощью второго прямоугольника.
Возвращает дополнение к этой первой области в сочетании со второй областью.
Заполняет область дополнения синим цветом и рисует ее на экране.
Обратите внимание, что область второй области, которая не пересекается с первой областью, выделена синим цветом.
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)
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
Обновляет область Region, чтобы включить часть указанной структуры RectangleF, не пересекающейся с областью 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, дополняющая область Region.
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает прямоугольник и рисует его на экране черным цветом.
Создает второй прямоугольник, пересекающийся с первым, и рисует его на экране красным цветом.
Создает область с помощью первого прямоугольника.
Возвращает дополнение этой области в сочетании со вторым прямоугольником.
Заполняет область дополнения синим цветом и рисует ее на экране.
Обратите внимание, что область второго прямоугольника, которая не пересекается с областью, окрашена синим цветом.
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)
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
Обновляет этот Region, чтобы включить в него часть указанного GraphicsPath, которая не пересекается с этим 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 в дополнение к этому Region.
Исключения
path
имеет значение null
.
Примеры
Следующий пример кода предназначен для использования с Windows Forms и требует PaintEventArgse
, который является параметром обработчика Paint событий. Код выполняет следующие действия.
Создает прямоугольник и рисует его на экране черным цветом.
Создает второй прямоугольник, пересекающийся с первым, и рисует его на экране красным цветом.
Создает область с помощью первого прямоугольника.
Создает GraphicsPathобъект и добавляет в него второй прямоугольник.
Возвращает дополнение области в сочетании с GraphicsPath.
Заполняет область дополнения синим цветом и рисует ее на экране.
Обратите внимание, что область объекта , GraphicsPath которая не пересекается с областью, окрашена синим цветом.
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)
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
- Исходный код:
- Region.cs
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)
Параметры
Примеры
Пример см. в методе Complement(RectangleF) .
Применяется к
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по