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

Découpage avec une région

Génération et dessin de tracés

Création d’un dégradé de chemin

Méthodes GetPathPoints

Graphicspath

GraphicsPath ::GetPathTypes

GraphicsPath ::GetPointCount

PathData

PathPointType

Chemins d’accès

Pointf