Freigeben über


Rectangle.Intersect Methode

Definition

Bestimmt die Rectangle-Struktur, die die Schnittmenge zweier Rechtecke darstellt.

Überlädt

Intersect(Rectangle, Rectangle)

Gibt eine dritte Rectangle-Struktur zurück, die die Schnittmenge zweier anderer Rectangle-Strukturen darstellt. Wenn keine Schnittmenge vorliegt, wird ein leeres Rectangle zurückgegeben.

Intersect(Rectangle)

Ersetzt dieses Rectangle durch die Schnittmenge dieses Rechtecks und des angegebenen Rectangle.

Intersect(Rectangle, Rectangle)

Quelle:
Rectangle.cs
Quelle:
Rectangle.cs
Quelle:
Rectangle.cs

Gibt eine dritte Rectangle-Struktur zurück, die die Schnittmenge zweier anderer Rectangle-Strukturen darstellt. Wenn keine Schnittmenge vorliegt, wird ein leeres Rectangle zurückgegeben.

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

Parameter

a
Rectangle

Ein Rechteck, mit dem eine Schnittmenge gebildet werden soll.

b
Rectangle

Ein Rechteck, mit dem eine Schnittmenge gebildet werden soll.

Gibt zurück

Ein Rectangle, das die Schnittmenge von a und b darstellt.

Beispiele

Im folgenden Codebeispiel werden die IntersectElemente und IsEmptyIntersectsWith veranschaulicht. Dieses Beispiel sollte mit einem Windows-Formular verwendet werden. Fügen Sie diesen Code in ein Formular ein, und rufen Sie diese Methode auf, wenn Sie das Ereignis des Formulars Paint behandeln und als PaintEventArgsübergebene.

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

Gilt für:

Intersect(Rectangle)

Quelle:
Rectangle.cs
Quelle:
Rectangle.cs
Quelle:
Rectangle.cs

Ersetzt dieses Rectangle durch die Schnittmenge dieses Rechtecks und des angegebenen 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)

Parameter

rect
Rectangle

Das Rectangle, mit dem die Schnittmenge gebildet werden soll.

Beispiele

Im folgenden Codebeispiel werden die IntersectElemente und IsEmptyIntersectsWith veranschaulicht. Dieses Beispiel sollte mit einem Windows-Formular verwendet werden. Fügen Sie diesen Code in ein Formular ein, und rufen Sie diese Methode auf, wenn Sie das Ereignis des Formulars Paint behandeln und als PaintEventArgsübergebene.

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

Gilt für: