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
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
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
construction et dessin des chemins d’accès
création d’un de dégradé de chemin d’accès