ID2D1Factory ::CreateGeometryGroup, méthode (d2d1.h)
Crée un ID2D1GeometryGroup, qui est un objet qui contient d’autres géométries.
Syntaxe
HRESULT CreateGeometryGroup(
D2D1_FILL_MODE fillMode,
[in] ID2D1Geometry **geometries,
UINT32 geometriesCount,
[out] ID2D1GeometryGroup **geometryGroup
);
Paramètres
fillMode
Type : D2D1_FILL_MODE
Valeur qui spécifie la règle qu’une forme composite utilise pour déterminer si un point donné fait partie de la géométrie.
[in] geometries
Type : ID2D1Geometry**
Tableau contenant les objets geometry à ajouter au groupe geometry. Le nombre d’éléments dans ce tableau est indiqué par le paramètre geometriesCount .
geometriesCount
Type : UINT
Nombre d’éléments dans les géométries.
[out] geometryGroup
Type : ID2D1GeometryGroup**
Lorsque cette méthode est retournée, contient l’adresse d’un pointeur vers le groupe geometry créé par cette méthode.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT .
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. Pour créer un objet ID2D1GeometryGroup , appelez la méthode CreateGeometryGroup sur l’objet ID2D1Factory , en passant 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.
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 géométriques à 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 Platform Update pour Windows Server 2008 [applications de bureau | Applications UWP] |
Plateforme cible | Windows |
En-tête | d2d1.h |
Bibliothèque | D2d1.lib |
DLL | D2d1.dll |