Metodo ID2D1Factory::CreateGeometryGroup (d2d1.h)
Crea un oggetto ID2D1GeometryGroup, che è un oggetto che contiene altre geometrie.
Sintassi
HRESULT CreateGeometryGroup(
D2D1_FILL_MODE fillMode,
[in] ID2D1Geometry **geometries,
UINT32 geometriesCount,
[out] ID2D1GeometryGroup **geometryGroup
);
Parametri
fillMode
Tipo: D2D1_FILL_MODE
Valore che specifica la regola utilizzata da una forma composita per determinare se un determinato punto fa parte della geometria.
[in] geometries
Tipo: ID2D1Geometry**
Matrice contenente gli oggetti geometry da aggiungere al gruppo geometry. Il numero di elementi in questa matrice è indicato dal parametro geometriesCount .
geometriesCount
Tipo: UINT
Numero di elementi nelle geometrie.
[out] geometryGroup
Tipo: ID2D1GeometryGroup**
Quando termina, questo metodo contiene l'indirizzo di un puntatore al gruppo geometry creato da questo metodo.
Valore restituito
Tipo: HRESULT
Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .
Commenti
I gruppi di geometrie sono un modo pratico per raggruppare più geometrie contemporaneamente, in modo che tutte le figure di diverse geometrie distinte siano concatenate in una. Per creare un oggetto ID2D1GeometryGroup , chiamare il metodo CreateGeometryGroup sull'oggetto ID2D1Factory , passando fillMode con i valori possibili di D2D1_FILL_MODE_ALTERNATE (alternativa) e D2D1_FILL_MODE_WINDING, una matrice di oggetti geometry da aggiungere al gruppo geometry e il numero di elementi in questa matrice.
Esempio
Nell'esempio di codice seguente viene innanzitutto dichiarata una matrice di oggetti geometry. Questi oggetti sono quattro cerchi concentrici con i seguenti raggi: 25, 50, 75 e 100. Chiamare quindi CreateGeometryGroup nell'oggetto ID2D1Factory , passando D2D1_FILL_MODE_ALTERNATE, una matrice di oggetti geometry da aggiungere al gruppo geometry e il numero di elementi in questa matrice.
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
);
}
Nella figura seguente vengono illustrati i risultati del rendering delle due geometrie di gruppo dell'esempio.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 7, Windows Vista con SP2 e Aggiornamento della piattaforma per Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 R2, Windows Server 2008 con SP2 e Platform Update per Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | d2d1.h |
Libreria | D2d1.lib |
DLL | D2d1.dll |