ID2D1Factory::CreateGeometryGroup メソッド (d2d1.h)

他のジオメトリを保持するオブジェクトである ID2D1GeometryGroup を作成します。

構文

HRESULT CreateGeometryGroup(
        D2D1_FILL_MODE     fillMode,
  [in]  ID2D1Geometry      **geometries,
        UINT32             geometriesCount,
  [out] ID2D1GeometryGroup **geometryGroup
);

パラメーター

fillMode

種類: D2D1_FILL_MODE

特定のポイントがジオメトリの一部であるかどうかを判断するために複合図形が使用するルールを指定する値。

[in] geometries

種類: ID2D1Geometry**

geometry グループに追加する geometry オブジェクトを含む配列。 この配列内の要素の数は、 geometriesCount パラメーターによって示されます。

geometriesCount

型: UINT

ジオメトリ内の要素の数。

[out] geometryGroup

種類: ID2D1GeometryGroup**

このメソッドが戻るとき、 には、このメソッドによって作成された geometry グループへのポインターのアドレスが格納されます。

戻り値

種類: HRESULT

このメソッドは、成功すると S_OK を返します。 それ以外の場合は、 HRESULT エラー コードが返されます。

注釈

ジオメトリ グループは、複数のジオメトリを同時にグループ化する便利な方法であり、複数の異なるジオメトリのすべての図形が 1 つに連結されます。 ID2D1GeometryGroup オブジェクトを作成するには、ID2D1Factory オブジェクトで CreateGeometryGroup メソッドを呼び出し、fillModeD2D1_FILL_MODE_ALTERNATE (代替) とD2D1_FILL_MODE_WINDING、geometry グループに追加する geometry オブジェクトの配列、およびこの配列内の要素の数を渡します。

次のコード例では、最初に 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
Library D2d1.lib
[DLL] D2d1.dll

こちらもご覧ください

ジオメトリの概要

ID2D1Factory