GraphicsPath ::AddCurve(constPointF*,INT,INT,INT,REAL) , méthode (gdipluspath.h)
La méthode GraphicsPath ::AddCurve ajoute une spline cardinale à la figure actuelle de ce chemin.
Syntaxe
Status AddCurve(
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Paramètres
[in] points
Type : const PointF*
Pointeur vers un tableau de points qui définissent la spline cardinale. La spline cardinale est une courbe qui traverse un sous-ensemble (spécifié par les paramètres offset et numberOfSegments ) des points dans le tableau.
[in] count
Type : INT
Entier qui spécifie le nombre d’éléments dans le tableau de points .
[in] offset
Type : INT
Entier qui spécifie l’index de l’élément de tableau utilisé comme premier point de la spline cardinale.
[in] numberOfSegments
Type : INT
Entier qui spécifie le nombre de segments dans la spline cardinale. Les segments sont les courbes qui relient des points consécutifs dans le tableau.
[in] tension
Type : REAL
Nombre réel non négatif qui contrôle la longueur de la courbe et la façon dont la courbe se courbe. La valeur 0 spécifie que la spline est une séquence de segments de ligne droite. À mesure que la valeur augmente, la courbe devient plus complète.
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
Vous devez conserver une copie du tableau de points si ces points seront nécessaires ultérieurement. L’objet GraphicsPath ne stocke pas les points passés à la méthode AddClosedCurve ; au lieu de cela, il convertit la spline cardinale en une séquence de splines de Bézier et stocke les points qui définissent ces splines Bézier. Vous ne pouvez pas récupérer le tableau de points d’origine à partir de l’objet GraphicsPath .
Exemples
L’exemple suivant crée un chemin d’accès d’objet GraphicsPath, ajoute une spline cardinale au chemin, puis dessine le chemin. La spline est générée à partir des points indexés de 2 à 6 dans un tableau de huit points.
VOID AddCurveExample3(HDC hdc)
{
Graphics graphics(hdc);
GraphicsPath path;
PointF pts[] = {PointF(50.0f, 50.0f),
PointF(70.0f, 80.0f),
PointF(100.0f, 100.0f),
PointF(130.0f, 40.0f),
PointF(150.0f, 90.0f),
PointF(180.0f, 30.0f),
PointF(210.0f, 120.0f),
PointF(240.0f, 80.0f)};
path.AddCurve(
pts,
8, // There are eight points in the array.
2, // Start at the point with index 2.
4, // Four segments. End at the point with index 6.
1.0f);
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Draw all eight points in the array.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j <= 7; ++j)
graphics.FillEllipse(&brush, pts[j].X - 3.0f, pts[j].Y - 3.0f, 6.0f, 6.0f);
}
Color(255, 255, 0, 0)
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 (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |
Voir aussi
Génération et dessin de tracés