Rectangle.Intersect Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет структуру Rectangle, представляющую собой пересечение двух прямоугольников.
Перегрузки
Intersect(Rectangle, Rectangle) |
Возвращает третью структуру Rectangle, представляющую собой пересечение двух других структур Rectangle. Если пересечение отсутствует, возвращается пустая структура Rectangle. |
Intersect(Rectangle) |
Заменяет данный объект Rectangle его пересечением с указанным прямоугольником Rectangle. |
Intersect(Rectangle, Rectangle)
- Исходный код:
- Rectangle.cs
- Исходный код:
- Rectangle.cs
- Исходный код:
- Rectangle.cs
public:
static System::Drawing::Rectangle Intersect(System::Drawing::Rectangle a, System::Drawing::Rectangle b);
public static System.Drawing.Rectangle Intersect (System.Drawing.Rectangle a, System.Drawing.Rectangle b);
static member Intersect : System.Drawing.Rectangle * System.Drawing.Rectangle -> System.Drawing.Rectangle
Public Shared Function Intersect (a As Rectangle, b As Rectangle) As Rectangle
Параметры
Прямоугольник для пересечения.
Прямоугольник для пересечения.
Возвращаемое значение
Объект Rectangle, представляющий собой пересечение параметров a
и b
.
Примеры
В следующем примере кода показаны члены Intersect, IsEmpty и IntersectsWith . Этот пример следует использовать с Формой Windows. Вставьте этот код в форму и вызовите этот метод при обработке события формы Paint , передавая e
как PaintEventArgs.
private:
void StaticRectangleIntersection( PaintEventArgs^ e )
{
Rectangle rectangle1 = Rectangle(50,50,200,100);
Rectangle rectangle2 = Rectangle(70,20,100,200);
e->Graphics->DrawRectangle( Pens::Black, rectangle1 );
e->Graphics->DrawRectangle( Pens::Red, rectangle2 );
if ( rectangle1.IntersectsWith( rectangle2 ) )
{
Rectangle rectangle3 = Rectangle::Intersect( rectangle1, rectangle2 );
if ( !rectangle3.IsEmpty )
{
e->Graphics->FillRectangle( Brushes::Green, rectangle3 );
}
}
}
private void StaticRectangleIntersection(PaintEventArgs e)
{
Rectangle rectangle1 = new Rectangle(50, 50, 200, 100);
Rectangle rectangle2 = new Rectangle(70, 20, 100, 200);
Rectangle rectangle3 = new Rectangle();
e.Graphics.DrawRectangle(Pens.Black, rectangle1);
e.Graphics.DrawRectangle(Pens.Red, rectangle2);
if (rectangle1.IntersectsWith(rectangle2))
{
rectangle3 = Rectangle.Intersect(rectangle1, rectangle2);
if (!rectangle3.IsEmpty)
{
e.Graphics.FillRectangle(Brushes.Green, rectangle3);
}
}
}
Private Sub StaticRectangleIntersection(ByVal e As PaintEventArgs)
Dim rectangle1 As New Rectangle(50, 50, 200, 100)
Dim rectangle2 As New Rectangle(70, 20, 100, 200)
Dim rectangle3 As New Rectangle
e.Graphics.DrawRectangle(Pens.Black, rectangle1)
e.Graphics.DrawRectangle(Pens.Red, rectangle2)
If (rectangle1.IntersectsWith(rectangle2)) Then
rectangle3 = Rectangle.Intersect(rectangle1, rectangle2)
If Not rectangle3.IsEmpty Then
e.Graphics.FillRectangle(Brushes.Green, rectangle3)
End If
End If
End Sub
Применяется к
Intersect(Rectangle)
- Исходный код:
- Rectangle.cs
- Исходный код:
- Rectangle.cs
- Исходный код:
- Rectangle.cs
public:
void Intersect(System::Drawing::Rectangle rect);
public void Intersect (System.Drawing.Rectangle rect);
member this.Intersect : System.Drawing.Rectangle -> unit
Public Sub Intersect (rect As Rectangle)
Параметры
Примеры
В следующем примере кода показаны члены Intersect, IsEmpty и IntersectsWith . Этот пример следует использовать с Формой Windows. Вставьте этот код в форму и вызовите этот метод при обработке события формы Paint , передавая e
как PaintEventArgs.
private:
void InstanceRectangleIntersection( PaintEventArgs^ e )
{
Rectangle rectangle1 = Rectangle(50,50,200,100);
Rectangle rectangle2 = Rectangle(70,20,100,200);
e->Graphics->DrawRectangle( Pens::Black, rectangle1 );
e->Graphics->DrawRectangle( Pens::Red, rectangle2 );
if ( rectangle1.IntersectsWith( rectangle2 ) )
{
rectangle1.Intersect( rectangle2 );
if ( !rectangle1.IsEmpty )
{
e->Graphics->FillRectangle( Brushes::Green, rectangle1 );
}
}
}
private void InstanceRectangleIntersection(PaintEventArgs e)
{
Rectangle rectangle1 = new Rectangle(50, 50, 200, 100);
Rectangle rectangle2 = new Rectangle(70, 20, 100, 200);
e.Graphics.DrawRectangle(Pens.Black, rectangle1);
e.Graphics.DrawRectangle(Pens.Red, rectangle2);
if (rectangle1.IntersectsWith(rectangle2))
{
rectangle1.Intersect(rectangle2);
if (!rectangle1.IsEmpty)
{
e.Graphics.FillRectangle(Brushes.Green, rectangle1);
}
}
}
Private Sub InstanceRectangleIntersection( _
ByVal e As PaintEventArgs)
Dim rectangle1 As New Rectangle(50, 50, 200, 100)
Dim rectangle2 As New Rectangle(70, 20, 100, 200)
e.Graphics.DrawRectangle(Pens.Black, rectangle1)
e.Graphics.DrawRectangle(Pens.Red, rectangle2)
If (rectangle1.IntersectsWith(rectangle2)) Then
rectangle1.Intersect(rectangle2)
If Not (rectangle1.IsEmpty) Then
e.Graphics.FillRectangle(Brushes.Green, rectangle1)
End If
End If
End Sub