GraphicsPath::GetBounds(Rect*,constMatrix*,constPen*) メソッド (gdipluspath.h)
GraphicsPath::GetBounds メソッドは、このパスの外接する四角形を取得します。
構文
Status GetBounds(
[out] Rect *bounds,
[in] const Matrix *matrix,
[in] const Pen *pen
);
パラメーター
[out] bounds
型: Rect*
外接する四角形を受け取る Rect オブジェクトへのポインター。
[in] matrix
型: const Matrix*
省略可能。 外接する四角形を計算する前に、このパスに適用する変換を指定する Matrix オブジェクトへのポインター。 パスは恒久的に変換されるわけではありません。変換は、外接する四角形を計算する処理の中だけで使用されます。 既定値は NULL です。
[in] pen
種類: const Pen*
省略可能。 外接する四角形のサイズに影響を与える Pen オブジェクトへのポインター。 境界で受け取った外接する四角形は、パスがこのパラメーターで指定されたペンで描画されるときに、このパスを囲むのに十分な大きさになります。 これにより、パスが幅の広いペンで描画された場合でも、パスが外接する四角形で囲まれます。 既定値は NULL です。
戻り値
種類: 状態
メソッドが成功した場合は、 Status 列挙体の要素である Ok を返します。
メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。
解説
このメソッドによって返される四角形は、指定したペンで描画されたパスを囲むのに必要以上に大きくなる場合があります。 四角形は、シャープコーナーでのペンのマイター制限を可能にし、ペンのエンドキャップを可能にするために計算されます。
例
次の例では、1 つの曲線と 1 つの楕円を持つパスを作成します。 コードは、太い黄色のペンと薄い黒いペンでパスを描画します。 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 |