Partager via


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

La méthode GraphicsPath ::GetPathPoints obtient le tableau de points de ce chemin. 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çoivent 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 de retour de GraphicsPath ::GetPointCount multipliée par sizeof(Point).

[in] count

Type : INT

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

Valeur de retour

Type : d’é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 et indicateurs de point possibles sont répertoriés dans l’énumération PathPointType.

Exemples

L’exemple suivant crée et dessine un chemin qui a une ligne, un rectangle, un 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)

Exigences

Exigence Valeur
client minimum pris en charge Windows XP, Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête gdipluspath.h (include Gdiplus.h)
bibliothèque Gdiplus.lib
DLL Gdiplus.dll

Voir aussi

découpage avec une région

construction et dessin des chemins d’accès

création d’un de dégradé de chemin d’accès

GraphicsPath

GraphicsPath ::GetPathData

GraphicsPath ::GetPathTypes

GraphicsPath ::GetPointCount

PathData

PathPointType

chemins d’accès

point