GraphicsPath ::GetPathData, méthode (gdipluspath.h)
La méthode GraphicsPath ::GetPathData obtient un tableau de points et un tableau de types de points à partir de ce chemin. Ensemble, ces deux tableaux définissent les lignes, les courbes, les figures et les marqueurs de ce chemin.
Syntaxe
Status GetPathData(
[out] PathData *pathData
);
Paramètres
[out] pathData
Type : PathData*
Pointeur vers un objet PathData qui reçoit les données de chemin d’accès. Le membre de données Points de l’objet PathData reçoit un pointeur vers un tableau d’objets PointF qui contient les points de chemin. Le membre de données Types de l’objet PathData reçoit un pointeur vers un tableau d’octets qui contient les types de points. Le membre de données Count de l’objet PathData reçoit un entier qui indique le nombre d’éléments dans le tableau Points .
Valeur retournée
Type : État
Si la méthode réussit, elle retourne Ok, qui est un élément de l’énumération Status .
Si la méthode échoue, elle retourne l’un des autres éléments de l’énumération Status .
Remarques
Un 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 n’avez pas besoin d’allouer ou de libérer de la mémoire pour le tableau de points ou le tableau de types. La méthode GraphicsPath ::GetPathData alloue de la mémoire aux tableaux (points et types) qu’elle retourne. Le destructeur PathData libère la mémoire de ces tableaux.
Exemples
L’exemple suivant crée et dessine un chemin qui a une ligne, un rectangle, une ellipse et une courbe. Le code obtient les points et les types du chemin en passant l’adresse d’un objet PathData à la méthode GraphicsPath ::GetPathData . Ensuite, le code dessine chacun des points de données du chemin d’accès.
VOID GetPathDataExample(HDC hdc)
{
Graphics graphics(hdc);
// Create a path that has a line, a rectangle, an ellipse, and a curve.
GraphicsPath path;
PointF points[] = {
PointF(200, 200),
PointF(250, 240),
PointF(200, 300),
PointF(300, 310),
PointF(250, 350)};
path.AddLine(20, 100, 150, 200);
path.AddRectangle(Rect(40, 30, 80, 60));
path.AddEllipse(Rect(200, 30, 200, 100));
path.AddCurve(points, 5);
// Draw the path.
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Get the path data.
PathData pathData;
path.GetPathData(&pathData);
// Draw the path's data points.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j < pathData.Count; ++j)
{
graphics.FillEllipse(
&brush,
pathData.Points[j].X - 3.0f,
pathData.Points[j].Y - 3.0f,
6.0f,
6.0f);
}
}
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