次の方法で共有


ID2D1PathGeometry インターフェイス

弧、曲線、および線で構成される複雑な図形を表します。

実装するタイミング

カスタム実装はサポートされません。

メンバー

ID2D1PathGeometry インターフェイス の継承元は次のとおりです: ID2D1Geometry. ID2D1PathGeometry は次のメンバーも定義します:

  • メソッド

メソッド

ID2D1PathGeometry インターフェイス は次の項目を定義します: メソッド.

メソッド 説明
GetFigureCount

パス ジオメトリ内の図の数を取得します。

GetSegmentCount

パス ジオメトリ内の線分の数を取得します。

Open

図と線分を持つパス ジオメトリの作成に使用されるジオメトリ シンクを取得します。

Stream

パス ジオメトリの内容を、指定された ID2D1GeometrySink にコピーします。

 

解説

ID2D1PathGeometry オブジェクトを使用すると、ジオメトリ パスを記述できます。To describe an ID2D1PathGeometry オブジェクトのパスを記述するには、そのオブジェクトの Open メソッドを使用して ID2D1GeometrySink を取得します。図と線分を持つパス ジオメトリの作成するには、シンクを使用します。

ID2D1PathGeometry オブジェクトの作成

パス ジオメトリを作成するには、ID2D1Factory::CreatePathGeometry メソッドを使用します。

ID2D1PathGeometry オブジェクトは、ID2D1Factory によって作成される、デバイス非依存のリソースです。通常、一度ジオメトリを作成したら、アプリケーションが有効な間またはジオメトリの変更が必要になるまでは、作成したジオメトリを保持しておく必要があります。デバイス非依存のリソースとデバイス依存のリソースの詳細については、「リソースの概要」を参照してください。

次の例では、ID2D1PathGeometry を作成してシンクを取得し、シンクを使用して砂時計の図形を定義します。完全な例については、「複雑な図形を描画して塗りつぶす方法」を参照してください。

  ID2D1GeometrySink *pSink = NULL;

// Create a path geometry.
if (SUCCEEDED(hr))
{
    hr = m_pD2DFactory->CreatePathGeometry(&m_pPathGeometry);

    if (SUCCEEDED(hr))
    {
        // Write to the path geometry using the geometry sink.
        hr = m_pPathGeometry->Open(&pSink);

        if (SUCCEEDED(hr))
        {
            pSink->BeginFigure(
                D2D1::Point2F(0, 0),
                D2D1_FIGURE_BEGIN_FILLED
                );

            pSink->AddLine(D2D1::Point2F(200, 0));

            pSink->AddBezier(
                D2D1::BezierSegment(
                    D2D1::Point2F(150, 50),
                    D2D1::Point2F(150, 150),
                    D2D1::Point2F(200, 200))
                );

            pSink->AddLine(D2D1::Point2F(0, 200));

            pSink->AddBezier(
                D2D1::BezierSegment(
                    D2D1::Point2F(50, 150),
                    D2D1::Point2F(50, 50),
                    D2D1::Point2F(0, 0))
                );

            pSink->EndFigure(D2D1_FIGURE_END_CLOSED);

            hr = pSink->Close();
        }
        SafeRelease(&pSink);
    }
}

要件

クライアントの最小要件

Windows 7, Windows Vista SP2 および Windows Vista 用のプラットフォーム更新プログラム

サーバーの最小要件

Windows Server 2008 R2, Windows Server 2008 SP2 および Windows Server 2008 用のプラットフォーム更新プログラム

ヘッダー

D2d1.h

ライブラリ

D2d1.lib

DLL

D2d1.dll

参照

ID2D1Factory::CreatePathGeometry

パス ジオメトリの概要

ジオメトリの概要

ジオメトリの操作手順に関するトピック