Nyelv

Rectangle.Intersect Metódus

Definíció

Meghatározza a Rectangle két téglalap metszetét jelképező struktúrát.

Túlterhelések

Name Description
Intersect(Rectangle, Rectangle)

Egy harmadik Rectangle struktúrát ad vissza, amely két másik Rectangle struktúra metszetét jelöli. Ha nincs metszet, a függvény üres Rectangle értéket ad vissza.

Intersect(Rectangle)

Ezt Rectangle lecseréli a saját és a megadott Rectanglemetszéspontra.

Intersect(Rectangle, Rectangle)

Forrás:
Rectangle.cs
Forrás:
Rectangle.cs
Forrás:
Rectangle.cs
Forrás:
Rectangle.cs
Forrás:
Rectangle.cs

Egy harmadik Rectangle struktúrát ad vissza, amely két másik Rectangle struktúra metszetét jelöli. Ha nincs metszet, a függvény üres Rectangle értéket ad vissza.

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

Paraméterek

a
Rectangle

Egy metszendő téglalap.

b
Rectangle

Egy metszendő téglalap.

Válaszok

A Rectangle , amely a metszete a és ba .

Példák

Az alábbi példakód bemutatja a Intersectkódot IsEmpty és a IntersectsWith tagokat. Ezt a példát egy Windows űrlappal kell használni. Illessze be ezt a kódot egy űrlapba, és hívja meg ezt a metódust Painteaz űrlap eseményének PaintEventArgs kezelésekor.

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

A következőre érvényes:

Intersect(Rectangle)

Forrás:
Rectangle.cs
Forrás:
Rectangle.cs
Forrás:
Rectangle.cs
Forrás:
Rectangle.cs
Forrás:
Rectangle.cs

Ezt Rectangle lecseréli a saját és a megadott Rectanglemetszéspontra.

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)

Paraméterek

rect
Rectangle

Az Rectangle , amellyel metszeni kell.

Példák

Az alábbi példakód bemutatja a Intersectkódot IsEmpty és a IntersectsWith tagokat. Ezt a példát egy Windows űrlappal kell használni. Illessze be ezt a kódot egy űrlapba, és hívja meg ezt a metódust Painteaz űrlap eseményének PaintEventArgs kezelésekor.

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

A következőre érvényes: