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.
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 |