GraphicsPath::GetPathPoints(Point*,INT) , méthode (gdipluspath.h)

La méthode GraphicsPath::GetPathPoints obtient le tableau de points de ce chemin d’accès. Le tableau contient les points de terminaison et les points de contrôle des lignes et des splines de Bézier utilisées pour dessiner le chemin.

Syntaxe

Status GetPathPoints(
  [out] Point *points,
  [in]  INT   count
);

Paramètres

[out] points

Type : Point*

Pointeur vers un tableau d’objets Point qui reçoit les points de données. Vous devez allouer de la mémoire pour ce tableau. Vous pouvez appeler la méthode GraphicsPath::GetPointCount pour déterminer la taille requise du tableau. La taille, en octets, doit être la valeur renvoyée de GraphicsPath::GetPointCount multipliée par sizeof(Point).

[in] count

Type : INT

Entier qui spécifie le nombre d’éléments dans le tableau de points . Définissez ce paramètre sur la valeur de retour de la méthode GraphicsPath::GetPointCount .

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 .

Notes

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 indicateurs possibles sont répertoriés dans l’énumération PathPointType .

Exemples

L’exemple suivant crée et dessine un chemin comportant une ligne, un rectangle, une ellipse et une courbe. Le code appelle la méthode GraphicsPath::GetPointCount du chemin d’accès pour déterminer le nombre de points de données stockés dans le chemin. Le code alloue une mémoire tampon suffisamment grande pour recevoir le tableau de points de données et transmet l’adresse de cette mémoire tampon à la méthode GraphicsPath::GetPathPoints . Enfin, le code dessine chacun des points de données du chemin d’accès.

VOID GetPathPointsExample(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path that has a line, a rectangle, an ellipse, and a curve.
   GraphicsPath path;

   Point points[] = {
      Point(200, 200),
      Point(250, 240),
      Point(200, 300),
      Point(300, 310),
      Point(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 points.
   INT count = path.GetPointCount();
   Point* dataPoints = new Point[count];
   path.GetPathPoints(dataPoints, count);

   // Draw the path's data points.
   SolidBrush brush(Color(255, 255, 0, 0));
   for(INT j = 0; j < count; ++j)
   {
      graphics.FillEllipse(
         &brush, 
         dataPoints[j].X - 3.0f, 
         dataPoints[j].Y - 3.0f,
         6.0f,
         6.0f);
   }
   delete [] dataPoints; 
}
Color(255, 255, 0,  0)

Configuration requise

   
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 (inclure 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

Graphicspath

GraphicsPath::GetPathData

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

PathData

PathPointType

Chemins d’accès

Point