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
Génération et dessin de tracés
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour