ID2D1GeometryGroup インターフェイス (d2d1.h)

他の ID2D1Geometry オブジェクトで構成される複合ジオメトリを表します。

継承

ID2D1GeometryGroup インターフェイスは ID2D1Geometry から継承します。 ID2D1GeometryGroup には、次の種類のメンバーもあります。

メソッド

ID2D1GeometryGroup インターフェイスには、これらのメソッドがあります。

 
ID2D1GeometryGroup::GetFillMode

このジオメトリ グループに含まれるジオメトリの交差領域を結合する方法を示します。
ID2D1GeometryGroup::GetSourceGeometries

geometry グループ内のジオメトリを取得します。
ID2D1GeometryGroup::GetSourceGeometryCount

ジオメトリ グループ内のジオメトリ オブジェクトの数を示します。

注釈

ジオメトリ グループは、複数のジオメトリを同時にグループ化する便利な方法であり、複数の異なるジオメトリのすべての図形が 1 つに連結されます。

ID2D1GeometryGroup オブジェクトの作成

ID2D1GeometryGroup オブジェクトを作成するには、ID2D1Factory::CreateGeometryGroup メソッドを呼び出し、fillModeD2D1_FILL_MODE_ALTERNATE (代替) とD2D1_FILL_MODE_WINDING、geometry グループに追加する geometry オブジェクトの配列、およびこの配列内の要素の数を渡します。

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

次のコード例では、最初に geometry オブジェクトの配列を宣言します。 これらのオブジェクトは、半径が 25、50、75、100 の 4 つの同心円です。 次に、ID2D1Factory オブジェクトで CreateGeometryGroup を呼び出し、D2D1_FILL_MODE_ALTERNATE、geometry グループに追加する geometry オブジェクトの配列、およびこの配列内の要素の数を渡します。

ID2D1Geometry *ppGeometries[] =
{
    m_pEllipseGeometry1,
    m_pEllipseGeometry2,
    m_pEllipseGeometry3,
    m_pEllipseGeometry4
};

hr = m_pD2DFactory->CreateGeometryGroup(
    D2D1_FILL_MODE_ALTERNATE,
    ppGeometries,
    ARRAYSIZE(ppGeometries),
    &m_pGeoGroup_AlternateFill
    );

if (SUCCEEDED(hr))
{
    hr = m_pD2DFactory->CreateGeometryGroup(
        D2D1_FILL_MODE_WINDING,
        ppGeometries,
        ARRAYSIZE(ppGeometries),
        &m_pGeoGroup_WindingFill
        );
}

次の図は、この例の 2 つのグループ ジオメトリをレンダリングした結果を示しています。

4 つの同心円の 2 つのセットの図。1 つは 2 番目と 4 番目のリングが塗りつぶされ、もう 1 つはすべてのリングが塗りつぶされています

要件

要件
サポートされている最小のクライアント Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー d2d1.h

こちらもご覧ください

Id2d1geometry