Método ID2D1Factory::CreateGeometryGroup (d2d1.h)
Crea un ID2D1GeometryGroup, que es un objeto que contiene otras geometrías.
Sintaxis
HRESULT CreateGeometryGroup(
D2D1_FILL_MODE fillMode,
[in] ID2D1Geometry **geometries,
UINT32 geometriesCount,
[out] ID2D1GeometryGroup **geometryGroup
);
Parámetros
fillMode
Tipo: D2D1_FILL_MODE
Valor que especifica la regla que usa una forma compuesta para determinar si un punto determinado forma forma parte de la geometría.
[in] geometries
Tipo: ID2D1Geometry**
Matriz que contiene los objetos geometry que se van a agregar al grupo de geometría. El número de elementos de esta matriz se indica mediante el parámetro geometriesCount .
geometriesCount
Tipo: UINT
Número de elementos en geometrías.
[out] geometryGroup
Tipo: ID2D1GeometryGroup**
Cuando este método vuelve, contiene la dirección de un puntero al grupo de geometría creado por este método.
Valor devuelto
Tipo: HRESULT
Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error HRESULT .
Comentarios
Los grupos de geometría son una manera cómoda de agrupar varias geometrías simultáneamente, por lo que todas las figuras de varias geometrías distintas se concatenan en una. Para crear un objeto ID2D1GeometryGroup , llame al método CreateGeometryGroup en el objeto ID2D1Factory , pasando fillMode con valores posibles de D2D1_FILL_MODE_ALTERNATE (alternativo) y D2D1_FILL_MODE_WINDING, una matriz de objetos geometry para agregar al grupo de geometría y el número de elementos de esta matriz.
Ejemplos
En el ejemplo de código siguiente se declara primero una matriz de objetos geometry. Estos objetos son cuatro círculos concéntricos que tienen los siguientes radios: 25, 50, 75 y 100. A continuación, llame a CreateGeometryGroup en el objeto ID2D1Factory , pasando D2D1_FILL_MODE_ALTERNATE, una matriz de objetos geometry para agregar al grupo de geometría y el número de elementos de esta matriz.
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
);
}
En la ilustración siguiente se muestran los resultados de la representación de las dos geometrías de grupo del ejemplo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7, Windows Vista con SP2 y Platform Update para Windows Vista [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 R2, Windows Server 2008 con SP2 y Actualización de plataforma para Windows Server 2008 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | d2d1.h |
Library | D2d1.lib |
Archivo DLL | D2d1.dll |