다음을 통해 공유


Rectangle.Intersect 메서드

정의

두 개의 사각형의 교차 부분을 나타내는 Rectangle 구조체를 확인합니다.

오버로드

Intersect(Rectangle, Rectangle)

두 개의 다른 Rectangle 구조체의 교차 부분을 나타내는 세째 Rectangle 구조체를 반환합니다. 교차 부분이 없으면 빈 Rectangle이 반환됩니다.

Intersect(Rectangle)

Rectangle을 이 구조체와 지정된 Rectangle의 교차 부분으로 바꿉니다.

Intersect(Rectangle, Rectangle)

Source:
Rectangle.cs
Source:
Rectangle.cs
Source:
Rectangle.cs

두 개의 다른 Rectangle 구조체의 교차 부분을 나타내는 세째 Rectangle 구조체를 반환합니다. 교차 부분이 없으면 빈 Rectangle이 반환됩니다.

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

매개 변수

a
Rectangle

교차할 사각형입니다.

b
Rectangle

교차할 사각형입니다.

반환

ab의 교차 부분을 나타내는 Rectangle을 반환합니다.

예제

다음 코드 예제에서는 Intersect, IsEmpty 및 멤버입니다 IntersectsWith . 이 예제는 Windows Form과 함께 사용해야 합니다. 이 코드를 양식에 붙여넣고 양식의 Paint 이벤트를 처리할 때 이 메서드를 호출하여 로 PaintEventArgs전달합니다e.

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)

Source:
Rectangle.cs
Source:
Rectangle.cs
Source:
Rectangle.cs

Rectangle을 이 구조체와 지정된 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)

매개 변수

rect
Rectangle

교차시킬 Rectangle입니다.

예제

다음 코드 예제에서는 Intersect, IsEmpty 및 멤버입니다 IntersectsWith . 이 예제는 Windows Form과 함께 사용해야 합니다. 이 코드를 양식에 붙여넣고 양식의 Paint 이벤트를 처리할 때 이 메서드를 호출하여 로 PaintEventArgs전달합니다e.

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

적용 대상