Rectangle.Intersect 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定表示两个矩形交集的 Rectangle 结构。
重载
Intersect(Rectangle, Rectangle) |
返回第三个 Rectangle 结构,它表示其他两个 Rectangle 结构的交集。 如果没有重叠,将返回空的 Rectangle。 |
Intersect(Rectangle) |
Intersect(Rectangle, Rectangle)
- Source:
- Rectangle.cs
- Source:
- Rectangle.cs
- Source:
- Rectangle.cs
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
和 b
的交集的 Rectangle。
示例
下面的代码示例演示 了 Intersect和 IsEmptyIntersectsWith 成员。 此示例应与 Windows 窗体一起使用。 将此代码粘贴到窗体中,并在处理窗体 Paint 的事件时调用此方法,作为 e
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
适用于
Intersect(Rectangle)
- Source:
- Rectangle.cs
- Source:
- Rectangle.cs
- Source:
- Rectangle.cs
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)
参数
示例
下面的代码示例演示 了 Intersect和 IsEmptyIntersectsWith 成员。 此示例应与 Windows 窗体一起使用。 将此代码粘贴到窗体中,并在处理窗体 Paint 的事件时调用此方法,作为 e
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