RectangleF.Intersect 方法

定义

确定表示两个矩形交集的 RectangleF 结构。Determines the RectangleF structure that represents the intersection of two rectangles.

重载

Intersect(RectangleF, RectangleF)

返回表示两个矩形的交集的 RectangleF 结构。Returns a RectangleF structure that represents the intersection of two rectangles. 如果没有交集,将返回一个空的 RectangleFIf there is no intersection, and empty RectangleF is returned.

Intersect(RectangleF)

将此 RectangleF 结构替换为其自身与指定的 RectangleF 结构的交集。Replaces this RectangleF structure with the intersection of itself and the specified RectangleF structure.

Intersect(RectangleF, RectangleF)

返回表示两个矩形的交集的 RectangleF 结构。Returns a RectangleF structure that represents the intersection of two rectangles. 如果没有交集,将返回一个空的 RectangleFIf there is no intersection, and empty RectangleF is returned.

public:
 static System::Drawing::RectangleF Intersect(System::Drawing::RectangleF a, System::Drawing::RectangleF b);
public static System.Drawing.RectangleF Intersect (System.Drawing.RectangleF a, System.Drawing.RectangleF b);
static member Intersect : System.Drawing.RectangleF * System.Drawing.RectangleF -> System.Drawing.RectangleF
Public Shared Function Intersect (a As RectangleF, b As RectangleF) As RectangleF

参数

a
RectangleF

要相交的矩形。A rectangle to intersect.

b
RectangleF

要相交的矩形。A rectangle to intersect.

返回

RectangleF

第三个 RectangleF 结构,它的大小表示两个指定矩形的重叠区域。A third RectangleF structure the size of which represents the overlapped area of the two specified rectangles.

示例

此示例旨在与 Windows 窗体一起使用,并且它需要 PaintEventArgs e 一个 OnPaint 事件对象。This example is designed for use with Windows Forms, and it requires PaintEventArgse, an OnPaint event object. 此代码创建两个 RectangleF 对象,并将它们以黑色和红色绘制到屏幕上。The code creates two RectangleF objects and draws them to the screen in black and red. 请注意,出于绘图目的,必须将它们转换为 Rectangle 对象。Notice that they have to be converted to Rectangle objects for drawing purposes. 然后,代码使用方法创建第三个 RectangleF Intersect ,并将其转换为 Rectangle ,并将其绘制到屏幕蓝色。Then the code creates a third RectangleF using the Intersect method, converts it to a Rectangle, and draws it to the screen in blue. 请注意,第三个 (蓝色) 矩形是另两个矩形的重叠区域:Notice the third (blue) rectangle is the area of overlap of the other two rectangles:

public:
   void RectangleFIntersectExample( PaintEventArgs^ e )
   {
      // Create two rectangles.
      RectangleF firstRectangleF = RectangleF(0,0,75,50);
      RectangleF secondRectangleF = RectangleF(50,20,50,50);

      // Convert the RectangleF structures to Rectangle structures and draw them to the
      // screen.
      Rectangle firstRect = Rectangle::Truncate( firstRectangleF );
      Rectangle secondRect = Rectangle::Truncate( secondRectangleF );
      e->Graphics->DrawRectangle( Pens::Black, firstRect );
      e->Graphics->DrawRectangle( Pens::Red, secondRect );

      // Get the intersection.
      RectangleF intersectRectangleF = RectangleF::Intersect( firstRectangleF, secondRectangleF );

      // Draw the intersectRectangleF to the screen.
      Rectangle intersectRect = Rectangle::Truncate( intersectRectangleF );
      e->Graphics->DrawRectangle( Pens::Blue, intersectRect );
   }
public void RectangleFIntersectExample(PaintEventArgs e)
{
             
    // Create two rectangles.
    RectangleF firstRectangleF = new RectangleF(0, 0, 75, 50);
    RectangleF secondRectangleF = new RectangleF(50, 20, 50, 50);
             
    // Convert the RectangleF structures to Rectangle structures and draw them to the
             
    // screen.
    Rectangle firstRect = Rectangle.Truncate(firstRectangleF);
    Rectangle secondRect = Rectangle.Truncate(secondRectangleF);
    e.Graphics.DrawRectangle(Pens.Black, firstRect);
    e.Graphics.DrawRectangle(Pens.Red, secondRect);
             
    // Get the intersection.
    RectangleF intersectRectangleF =
        RectangleF.Intersect(firstRectangleF,
        secondRectangleF);
             
    // Draw the intersectRectangleF to the screen.
    Rectangle intersectRect =
        Rectangle.Truncate(intersectRectangleF);
    e.Graphics.DrawRectangle(Pens.Blue, intersectRect);
}
Public Sub RectangleFIntersectExample(ByVal e As PaintEventArgs)

    ' Create two rectangles.
    Dim firstRectangleF As New RectangleF(0, 0, 75, 50)
    Dim secondRectangleF As New RectangleF(50, 20, 50, 50)

    ' Convert the RectangleF structures to Rectangle structures and

    ' draw them to the screen.
    Dim firstRect As Rectangle = Rectangle.Truncate(firstRectangleF)
    Dim secondRect As Rectangle = Rectangle.Truncate(secondRectangleF)
    e.Graphics.DrawRectangle(Pens.Black, firstRect)
    e.Graphics.DrawRectangle(Pens.Red, secondRect)

    ' Get the intersection.
    Dim intersectRectangleF As RectangleF = _
    RectangleF.Intersect(firstRectangleF, secondRectangleF)

    ' Draw the intersectRectangleF to the screen.
    Dim intersectRect As Rectangle = _
    Rectangle.Truncate(intersectRectangleF)
    e.Graphics.DrawRectangle(Pens.Blue, intersectRect)
End Sub

Intersect(RectangleF)

将此 RectangleF 结构替换为其自身与指定的 RectangleF 结构的交集。Replaces this RectangleF structure with the intersection of itself and the specified RectangleF structure.

public:
 void Intersect(System::Drawing::RectangleF rect);
public void Intersect (System.Drawing.RectangleF rect);
member this.Intersect : System.Drawing.RectangleF -> unit
Public Sub Intersect (rect As RectangleF)

参数

rect
RectangleF

要相交的矩形。The rectangle to intersect.

适用于