GraphicsPath::GetBounds (Rect*,constMatrix*,constPen*) 方法 (gdipluspath.h)
GraphicsPath::GetBounds 方法获取此路径的边框。
语法
Status GetBounds(
[out] Rect *bounds,
[in] const Matrix *matrix,
[in] const Pen *pen
);
parameters
[out] bounds
类型: 矩形*
指向接收边框的 Rect 对象的指针。
[in] matrix
类型: const Matrix*
可选。 指向 Matrix 对象的指针,该对象指定要在计算边界矩形之前应用于此路径的转换。 此路径并非被永久变换;仅在计算边框的进程中使用变换。 默认值为 NULL。
[in] pen
类型: 常数 笔*
可选。 指向影响边框大小的 Pen 对象的指针。 使用此参数指定的笔绘制路径时, 在边界 中接收的边框将足够大,足以将路径括起来。 这可确保路径被边框括起来,即使路径是用宽笔绘制的。 默认值为 NULL。
返回值
类型: 状态
如果该方法成功,则返回 Ok,这是 Status 枚举的元素。
如果方法失败,它将返回 Status 枚举的其他元素之一。
注解
此方法返回的矩形可能大于将指定笔绘制的路径括起来所需的大小。 计算矩形是为了允许笔尖角处的斜度限制,并允许笔的端帽。
示例
以下示例创建一个具有一条曲线和一个椭圆的路径。 代码使用厚黄色笔和细黑色笔绘制路径。 GraphicsPath::GetBounds 方法接收黄色粗笔的地址,并计算路径的边框。 然后,代码绘制边框。
VOID GetBoundsExample(HDC hdc)
{
Graphics graphics(hdc);
Pen blackPen(Color(255, 0, 0, 0), 1);
Pen yellowPen(Color(255, 255, 255, 0), 10);
Pen redPen(Color(255, 255, 0, 0), 1);
Point pts[] = {Point(120,120),
Point(200,130),
Point(150,200),
Point(130,180)};
// Create a path that has one curve and one ellipse.
GraphicsPath path;
path.AddClosedCurve(pts, 4);
path.AddEllipse(120, 220, 100, 40);
// Draw the path with a thick yellow pen and a thin black pen.
graphics.DrawPath(&yellowPen, &path);
graphics.DrawPath(&blackPen, &path);
// Get the path's bounding rectangle.
Rect rect;
path.GetBounds(&rect, NULL, &yellowPen);
graphics.DrawRectangle(&redPen, rect);
}
Color(255, 0, 0, 0)Color(255, 255, 0, 0)
要求
最低受支持的客户端 | Windows XP、Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | gdipluspath.h (包括 Gdiplus.h) |
Library | Gdiplus.lib |
DLL | Gdiplus.dll |