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 群組的幾何物件。 這個陣列中的元素數目會以 geometriesCount 參數表示。
geometriesCount
類型: UINT
幾何中的項目數目。
[out] geometryGroup
類型: ID2D1GeometryGroup**
當這個方法傳回時,會包含這個方法所建立之 geometry 群組的指標位址。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
幾何群組是同時分組數個幾何的便利方式,因此數個不同幾何的所有圖形都會串連成一個。 若要建立 ID2D1GeometryGroup 物件,請在 ID2D1Factory 物件上呼叫 CreateGeometryGroup 方法,並傳入 fillMode,其中可能值為 D2D1_FILL_MODE_ALTERNATE (替代) 和D2D1_FILL_MODE_WINDING、要新增至幾何群組的 geometry 物件陣列,以及此陣列中的元素數目。
範例
下列程式代碼範例會先宣告 geometry 對象的數位列。 這些物件是具有下列弧度的四個同心圓:25、50、75 和 100。 然後在ID2D1Factory物件上呼叫 CreateGeometryGroup、傳入D2D1_FILL_MODE_ALTERNATE、要新增至幾何群組的 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
);
}
下圖顯示從範例轉譯兩個群組幾何的結果。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista SP2 和平臺更新 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | d2d1.h |
程式庫 | D2d1.lib |
Dll | D2d1.dll |