GraphicsPath::GetBounds(RectF*,constMatrix*,constPen*) 方法(gdipluspath.h)
GraphicsPath::GetBounds 方法获取此路径的边界矩形。
语法
Status GetBounds(
RectF *bounds,
const Matrix *matrix,
const Pen *pen
);
参数
bounds
指向接收边界矩形的 RectF 对象的指针。
matrix
自选。
指向 Matrix 对象的指针,该对象指定要在计算边界矩形之前应用于此路径的转换。
此路径不会永久转换;转换仅在计算边界矩形的过程中使用。
默认值为 NULL
pen
自选。
指向影响边界矩形大小的 Pen 对象的指针。
当用此参数指定的笔绘制路径时,以边界接收的边界矩形将足够大,以括住此路径。
这可确保即使用宽笔绘制路径,路径也由边界矩形括起来。
默认值为 NULL
返回值
类型:状态
如果方法成功,则返回 Ok,这是 状态 枚举的元素。
如果方法失败,它将返回 状态 枚举的其他元素之一。
言论
此方法返回的矩形可能大于用指定的笔绘制的路径所需的大小。 该矩形经过计算,以允许笔的尖角处的 miter 限制,并允许笔的尾帽。
例子
以下示例创建一个具有一条曲线和一个椭圆的路径。 该代码使用厚黄色笔和细黑色笔绘制路径。 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.
RectF rect;
path.GetBounds(&rect, NULL, &yellowPen);
graphics.DrawRectangle(&redPen, rect);
}
Color(255, 0, 0, 0)Color(255, 255, 0, 0)
要求
要求 | 价值 |
---|---|
标头 | gdipluspath.h |
另请参阅
使用区域