Share via


GraphicsPathIterator ::Enumerate, méthode (gdipluspath.h)

La méthode GraphicsPathIterator ::Enumerate copie les points de données du chemin d’accès vers un tableau PointF et copie les types de points du chemin dans un tableau BYTE .

Syntaxe

INT Enumerate(
  [out] PointF *points,
  [out] BYTE   *types,
  [in]  INT    count
);

Paramètres

[out] points

Type : PointF*

Pointeur vers un tableau qui reçoit les points de données du chemin d’accès.

[out] types

Type : BYTE*

Pointeur vers un tableau qui reçoit les types de points du chemin d’accès.

[in] count

Type : INT

Entier qui spécifie le nombre d’éléments dans le tableau de points . Il s’agit du même nombre d’éléments dans le tableau de types .

Valeur retournée

Type : INT

Cette méthode retourne le nombre de points récupérés.

Remarques

Cet objet GraphicsPathIterator est associé à un objet GraphicsPath . Cet objet GraphicsPath a un tableau de points et un tableau de types. Chaque élément du tableau de types est un octet qui spécifie le type de point et un ensemble d’indicateurs pour l’élément correspondant dans le tableau de points. Les types de points et les indicateurs possibles sont répertoriés dans l’énumération PathPointType .

Vous pouvez appeler la méthode GraphicsPathIterator ::GetCount pour déterminer le nombre de points de données dans le chemin. Le paramètre points pointe vers une mémoire tampon qui reçoit les points de données, et le paramètre types pointe vers une mémoire tampon qui reçoit les types. Avant d’appeler la méthode GraphicsPathIterator ::Enumerate , vous devez allouer de la mémoire pour ces mémoires tampons. La taille de la mémoire tampon de points doit être la valeur de retour de GraphicsPathIterator ::GetCount multipliée par sizeof(PointF). La taille de la mémoire tampon de types doit être la valeur de retour de GraphicsPathIterator ::GetCount.

Exemples

L’exemple suivant crée un objet GraphicsPath et ajoute trois lignes au chemin d’accès. Le code crée un objet GraphicsPathIterator et appelle sa méthode GraphicsPathIterator ::Enumerate pour récupérer les points de données et les types de points du chemin d’accès. Ensuite, le code affiche le nombre retourné par la méthode GraphicsPathIterator ::Enumerate .


#define BUFFER_SIZE 30
TCHAR numPointsEnum[BUFFER_SIZE];

// Add some lines to a path.
Point pts[] = {Point(20, 20), 
                Point(100, 20), 
                Point(100, 50), 
                Point(20, 50)};
GraphicsPath path;
path.AddLines(pts, 4);

// Create a GraphicsPathIterator object, and associate it with the path.
GraphicsPathIterator pathIterator(&path);

// Create destination arrays, and copy the path data to them.
UINT c = pathIterator.GetCount();
PointF* pEnumPoints = new PointF[c]; 
BYTE* pTypes = new BYTE[c];
INT count = pathIterator.Enumerate(pEnumPoints, pTypes, c);

// Confirm that the points were enumerated.
StringCchPrintf(
   numPointsEnum, BUFFER_SIZE, TEXT("%d points were enumerated."), count);

MessageBox(hWnd, numPointsEnum, TEXT("Enumerate"), NULL);

delete[] pEnumPoints;
delete[] pTypes;

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP, Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête gdipluspath.h (include Gdiplus.h)
Bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

Génération et dessin de tracés

GetPathData

Méthodes GetPathPoints

GetPathTypes

GetPointCount

Graphicspath

GraphicsPathIterator

GraphicsPathIterator ::CopyData

GraphicsPathIterator ::GetCount

Chemins d’accès