Rect::Union 方法 (gdiplustypes.h)

Rect::Union 方法确定两个矩形的并集,并将结果存储在 Rect 对象中。

语法

BOOL Union(
  [out] Rect &       c,
  [in]  const Rect & a,
  [in]  const Rect & b
);

参数

[out] c

类型: 矩形&

对接收两个矩形联合的 Rect 对象的引用。

[in] a

类型: const Rect&

引用用于形成联合的两个矩形之一。

[in] b

类型: const Rect&

引用用于形成联合的两个矩形之一。

返回值

类型: BOOL

如果两个矩形的并集不为空,则此方法返回 TRUE;否则,它将返回 FALSE

注解

在 Windows GDI+ 中,两个矩形的并集是包围这两个矩形的最小矩形。 如果矩形的宽度或高度小于或等于零,则将其定义为空。

示例

以下示例创建三个矩形。 代码构成前两个矩形的联合,并将结果存储在第三个矩形中。 代码确定联合是否为非空,如果是,则绘制联合。

VOID Example_UnionABC(HDC hdc)
{
   Graphics graphics(hdc);
   Pen* pGreenPen;

   // Create three Rect objects.
   Rect rectA(50, 50, 200, 100);
   Rect rectB(70, 20, 100, 200);
   Rect rectC;

   // Determine the union of rectA and rectB, and store the result in rectC.
   if(rectC.Union(rectC, rectA, rectB))
   {
      // rectC is not empty.
      // Draw the union with a thick green pen.
      pGreenPen = new Pen(Color(255, 0, 255, 0), 7);
      graphics.DrawRectangle(pGreenPen, rectC);
      delete pGreenPen;
   }
   // Draw rectA and rectB with a thin black pen.
   Pen blackPen(Color(255, 0, 0, 0), 1);
   graphics.DrawRectangle(&blackPen, rectA);
   graphics.DrawRectangle(&blackPen, rectB);
}

要求

   
最低受支持的客户端 Windows XP、Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 gdiplustypes.h (包括 Gdiplus.h)
Library Gdiplus.lib
DLL Gdiplus.dll

另请参阅

Intersect 方法

笔、线条和矩形

Rect

RectF

使用笔绘制线条和矩形