Rectangle.Union(Rectangle, Rectangle) 方法
定义
public:
static System::Drawing::Rectangle Union(System::Drawing::Rectangle a, System::Drawing::Rectangle b);
public static System.Drawing.Rectangle Union (System.Drawing.Rectangle a, System.Drawing.Rectangle b);
static member Union : System.Drawing.Rectangle * System.Drawing.Rectangle -> System.Drawing.Rectangle
Public Shared Function Union (a As Rectangle, b As Rectangle) As Rectangle
参数
要合并的矩形。A rectangle to union.
要合并的矩形。A rectangle to union.
返回
包含两个 Rectangle 结构的交集的 Rectangle 结构。A Rectangle structure that bounds the union of the two Rectangle structures.
示例
下面的代码示例演示如何使用 Union 方法。The following code example demonstrates how to use the Union method. 此示例旨在与 Windows 窗体一起使用。This example is designed for use with a Windows Form. 将此代码粘贴到窗体中 ShowRectangleUnion ,并在处理窗体事件时调用方法,并将 Paint e 作为传递 PaintEventArgs 。Paste this code into a form and call the ShowRectangleUnion method when handling the form's Paint event, passing e as PaintEventArgs.
private:
void ShowRectangleUnion( PaintEventArgs^ e )
{
// Declare two rectangles and draw them.
Rectangle rectangle1 = Rectangle(30,40,50,100);
Rectangle rectangle2 = Rectangle(50,60,100,60);
e->Graphics->DrawRectangle( Pens::Sienna, rectangle1 );
e->Graphics->DrawRectangle( Pens::BlueViolet, rectangle2 );
// Declare a third rectangle as a union of the first two.
Rectangle rectangle3 = Rectangle::Union( rectangle1, rectangle2 );
// Fill in the third rectangle in a semi-transparent color.
Color transparentColor = Color::FromArgb( 40, 135, 135, 255 );
e->Graphics->FillRectangle( gcnew SolidBrush( transparentColor ), rectangle3 );
}
private void ShowRectangleUnion(PaintEventArgs e)
{
// Declare two rectangles and draw them.
Rectangle rectangle1 = new Rectangle(30, 40, 50, 100);
Rectangle rectangle2 = new Rectangle(50, 60, 100, 60);
e.Graphics.DrawRectangle(Pens.Sienna, rectangle1);
e.Graphics.DrawRectangle(Pens.BlueViolet, rectangle2);
// Declare a third rectangle as a union of the first two.
Rectangle rectangle3 = Rectangle.Union(rectangle1, rectangle2);
// Fill in the third rectangle in a semi-transparent color.
Color transparentColor = Color.FromArgb(40, 135, 135, 255);
e.Graphics.FillRectangle(new SolidBrush(transparentColor), rectangle3);
}
Private Sub ShowRectangleUnion(ByVal e As PaintEventArgs)
' Declare two rectangles and draw them.
Dim rectangle1 As New Rectangle(30, 40, 50, 100)
Dim rectangle2 As New Rectangle(50, 60, 100, 60)
e.Graphics.DrawRectangle(Pens.Sienna, rectangle1)
e.Graphics.DrawRectangle(Pens.BlueViolet, rectangle2)
' Declare a third rectangle as a union of the first two.
Dim rectangle3 As Rectangle = Rectangle.Union(rectangle1, _
rectangle2)
' Fill in the third rectangle in a semi-transparent color.
Dim transparentColor As Color = Color.FromArgb(40, 135, 135, 255)
e.Graphics.FillRectangle(New SolidBrush(transparentColor), _
rectangle3)
End Sub
注解
当两个矩形中的一个为空时,表示其所有值均为零,则该 Union 方法将返回一个矩形,其起点为 (0,0) ,以及非空矩形的高度和宽度。When one of the two rectangles is empty, meaning all of its values are zero, the Union method returns a rectangle with a starting point of (0, 0), and the height and width of the non-empty rectangle. 例如,如果有两个矩形: A = (0,0;0,0) ,B = (1,1;2,2) ,则 A 和 B 的联合 (0,0;2,2) 。For example, if you have two rectangles: A = (0, 0; 0, 0) and B = (1, 1; 2, 2), then the union of A and B is (0, 0; 2, 2).