Partager via


INTERFACE ID2D1GeometryGroup (d2d1.h)

Représente une géométrie composite, composée d’autres objets ID2D1Geometry .

Héritage

L’interface ID2D1GeometryGroup hérite d’ID2D1Geometry. ID2D1GeometryGroup a également les types de membres suivants :

Méthodes

L’interface ID2D1GeometryGroup contient ces méthodes.

 
ID2D1GeometryGroup ::GetFillMode

Indique comment les zones d’intersection des géométries contenues dans ce groupe de géométries sont combinées.
ID2D1GeometryGroup ::GetSourceGeometries

Récupère les géométries dans le groupe geometry.
ID2D1GeometryGroup ::GetSourceGeometryCount

Indique le nombre d’objets geometry dans le groupe geometry.

Remarques

Les groupes Geometry sont un moyen pratique de regrouper plusieurs géométries simultanément afin que toutes les figures de plusieurs géométries distinctes soient concaténées en une seule.

Création d’objets ID2D1GeometryGroup

Pour créer un objet ID2D1GeometryGroup , appelez la méthode ID2D1Factory ::CreateGeometryGroup , en transmettant le fillMode avec les valeurs possibles de D2D1_FILL_MODE_ALTERNATE (alternative) et D2D1_FILL_MODE_WINDING, un tableau d’objets geometry à ajouter au groupe geometry et le nombre d’éléments dans ce tableau.

Les géométries Direct2D sont des ressources immuables et indépendantes de l’appareil créées par ID2D1Factory. En général, vous devez créer des géométries une seule fois et les conserver pendant toute la durée de l’application, ou jusqu’à ce qu’elles doivent être modifiées. Pour plus d’informations sur les ressources indépendantes de l’appareil et dépendantes de l’appareil, consultez Vue d’ensemble des ressources.

Exemples

L’exemple de code suivant déclare d’abord un tableau d’objets geometry. Ces objets sont quatre cercles concentriques qui ont les rayons suivants : 25, 50, 75 et 100. Appelez ensuite CreateGeometryGroup sur l’objet ID2D1Factory , en passant D2D1_FILL_MODE_ALTERNATE, un tableau d’objets geometry à ajouter au groupe geometry et le nombre d’éléments dans ce tableau.

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
        );
}

L’illustration suivante montre les résultats du rendu des deux géométries de groupe à partir de l’exemple.

Illustration de deux ensembles de quatre cercles concentriques, l’un avec les deuxième et quatrième anneaux remplis et l’autre avec tous les anneaux remplis

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 7, Windows Vista avec SP2 et Mise à jour de plateforme pour Windows Vista [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows Server 2008 R2, Windows Server 2008 avec SP2 et Mise à jour de plateforme pour Windows Server 2008 [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête d2d1.h

Voir aussi

ID2D1Geometry