Compartir a través de


Interfaz ID2D1GeometryGroup (d2d1.h)

Representa una geometría compuesta, compuesta por otros objetos ID2D1Geometry .

Herencia

La interfaz ID2D1GeometryGroup hereda de ID2D1Geometry. ID2D1GeometryGroup también tiene estos tipos de miembros:

Métodos

La interfaz ID2D1GeometryGroup tiene estos métodos.

 
ID2D1GeometryGroup::GetFillMode

Indica cómo se combinan las áreas de intersección de las geometrías contenidas en este grupo de geometrías.
ID2D1GeometryGroup::GetSourceGeometries

Recupera las geometrías del grupo de geometría.
ID2D1GeometryGroup::GetSourceGeometryCount

Indica el número de objetos geometry del grupo de geometría.

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.

Creación de objetos ID2D1GeometryGroup

Para crear un objeto ID2D1GeometryGroup , llame al método ID2D1Factory::CreateGeometryGroup , 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.

Las geometrías de Direct2D son recursos inmutables e independientes del dispositivo creados por ID2D1Factory. En general, debe crear geometrías una vez y conservarlas durante la vida útil de la aplicación, o hasta que deban modificarse. Para obtener más información sobre los recursos independientes del dispositivo y dependientes del dispositivo, consulte Introducción a los recursos.

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.

Ilustración de dos conjuntos de cuatro círculos concéntricos, uno con los anillos segundo y cuarto rellenos y uno con todos los anillos llenos

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

Consulte también

ID2D1Geometry