ID2D1GeometryGroup インターフェイス (d2d1.h)
他の ID2D1Geometry オブジェクトで構成される複合ジオメトリを表します。
継承
ID2D1GeometryGroup インターフェイスは ID2D1Geometry から継承します。 ID2D1GeometryGroup には、次の種類のメンバーもあります。
メソッド
ID2D1GeometryGroup インターフェイスには、これらのメソッドがあります。
ID2D1GeometryGroup::GetFillMode このジオメトリ グループに含まれるジオメトリの交差領域を結合する方法を示します。 |
ID2D1GeometryGroup::GetSourceGeometries geometry グループ内のジオメトリを取得します。 |
ID2D1GeometryGroup::GetSourceGeometryCount ジオメトリ グループ内のジオメトリ オブジェクトの数を示します。 |
注釈
ジオメトリ グループは、複数のジオメトリを同時にグループ化する便利な方法であり、複数の異なるジオメトリのすべての図形が 1 つに連結されます。
ID2D1GeometryGroup オブジェクトの作成
ID2D1GeometryGroup オブジェクトを作成するには、ID2D1Factory::CreateGeometryGroup メソッドを呼び出し、fillMode にD2D1_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 つのグループ ジオメトリをレンダリングした結果を示しています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7、Windows Vista SP2 と Windows Vista 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2008 R2、Windows Server 2008 SP2 および Windows Server 2008 用プラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | d2d1.h |