GraphicsPath::Outline メソッド (gdipluspath.h)

GraphicsPath::Outline メソッドは、このパスを変換してフラット化し、パスのアウトラインのみを表すこのパスのデータ ポイントを変換します。

構文

Status Outline(
  [in] const Matrix *matrix,
  [in] REAL         flatness
);

パラメーター

[in] matrix

型: const Matrix*

省略可能。 変換を指定する Matrix オブジェクトへのポインター。 このパラメーターが NULL の場合、変換は適用されません。 既定値は NULL です。

[in] flatness

種類: REAL

省略可能。 パスとそのフラット化近似の間の最大誤差を指定する実数。 平坦度を小さくすると、近似の線分の数が増えます。 既定値は FlatnessDefault です。これは Gdiplusenums.h で定義されている定数です。

戻り値

種類: 状態

メソッドが成功した場合は、 Status 列挙の要素である Ok を返します。

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

解説

GraphicsPath オブジェクトは、線と曲線を表すデータ ポイントのコレクションを格納します。 GraphicsPath::Outline メソッドは、これらのデータ ポイントを変更すると、元のデータ ポイントは失われます。

次の例では 、GraphicsPath オブジェクトを作成し、 GraphicsPath::AddClosedCurve メソッドを呼び出して、閉じたカーディナル スプラインをパスに追加します。 このコードでは 、GraphicsPath::Widen メソッドを呼び出してパスを拡大し、パスを描画します。 次に、パスの Outline メソッドを呼び出します。 このコードは、Graphics オブジェクトの TranslateTransform メソッドを呼び出して、 DrawPath の後続の呼び出しによって描画されたアウトラインパスが最初のパスの右側に配置されるようにします。


VOID OutlineExample(HDC hdc)
{
   Graphics graphics(hdc);

   Pen bluePen(Color(255, 0, 0, 255));
   Pen greenPen(Color(255, 0, 255,  0), 10);

   PointF points[] = {
      PointF(20.0f, 20.0f),
      PointF(160.0f, 100.0f),
      PointF(140.0f, 60.0f),
      PointF(60.0f, 100.0f)};

   GraphicsPath path;
   path.AddClosedCurve(points, 4);

   path.Widen(&greenPen);
   graphics.DrawPath(&bluePen, &path);

   path.Outline();

   graphics.TranslateTransform(180.0f, 0.0f);
   graphics.DrawPath(&bluePen, &path);
}

要件

   
サポートされている最小のクライアント Windows XP、Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー gdipluspath.h (Gdiplus.h を含む)
Library Gdiplus.lib
[DLL] Gdiplus.dll

関連項目

領域を使用したクリッピング

パスの作成および描画

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

Graphicspath

GraphicsPath::Flatten

GraphicsPath::Warp

GraphicsPath::Widen

マトリックス

パス