Rectangle.Intersect Método

Definição

Determina a Rectangle estrutura que representa a interseção de dois retângulos.

Sobrecargas

Name Description
Intersect(Rectangle, Rectangle)

Devolve uma terceira Rectangle estrutura que representa a interseção de outras Rectangle duas estruturas. Se não houver interseção, um vazio Rectangle é devolvido.

Intersect(Rectangle)

Substitui isto Rectangle pela interseção de si próprio e o especificado Rectangle.

Intersect(Rectangle, Rectangle)

Devolve uma terceira Rectangle estrutura que representa a interseção de outras Rectangle duas estruturas. Se não houver interseção, um vazio Rectangle é devolvido.

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

Parâmetros

a
Rectangle

Um retângulo para se cruzar.

b
Rectangle

Um retângulo para se cruzar.

Devoluções

A Rectangle que representa a interseção de a e b.

Exemplos

O seguinte exemplo de código demonstra os Intersect, IsEmpty e os IntersectsWith membros. Este exemplo deve ser usado com um Windows Form. Cole este código num formulário e chame este método ao tratar o evento do Paint formulário, passando e como 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

Aplica-se a

Intersect(Rectangle)

Substitui isto Rectangle pela interseção de si próprio e o especificado Rectangle.

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)

Parâmetros

rect
Rectangle

O Rectangle com que se cruza.

Exemplos

O seguinte exemplo de código demonstra os Intersect, IsEmpty e os IntersectsWith membros. Este exemplo deve ser usado com um Windows Form. Cole este código num formulário e chame este método ao tratar o evento do Paint formulário, passando e como 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

Aplica-se a