次の方法で共有


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 を返します。これは、Status 列挙体の要素です。

メソッドが失敗した場合は、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.
   RectF rect;
   path.GetBounds(&rect, NULL, &yellowPen);
   graphics.DrawRectangle(&redPen, rect);  
}

Color(255, 0, 0, 0)Color(255, 255, 0,  0)

必要条件

要件 価値
ヘッダー gdipluspath.h

関連項目

領域 でのクリッピングの

パス の構築と描画の

パス グラデーション の作成の

GraphicsPath

マトリックスの

パス

ペン

RectF