Graphics::D rawCurve(constPen*,constPointF*,INT,INT,REAL) (gdiplusgraphics.h)
La méthode Graphics::D rawCurve dessine une spline cardinale.
Syntaxe
Status DrawCurve(
[in] const Pen *pen,
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Paramètres
[in] pen
Type : stylet* const
Pointeur vers un stylet utilisé pour dessiner la spline cardinale.
[in] points
Type : const PointF*
Pointeur vers un tableau d’objets PointF qui spécifient les coordonnées par lesquelles la spline cardinale passe.
[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’élément dans le tableau de points qui spécifie le point de début de la spline cardinale.
[in] numberOfSegments
Type : INT
Entier qui spécifie le nombre de segments dans la spline cardinale.
[in] tension
Type : REAL
Nombre réel qui spécifie la précision de la courbe à travers les coordonnées de la spline cardinale.
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 segment est défini comme une courbe qui relie deux points consécutifs dans la spline cardinale. Le point de fin de chaque segment est le point de départ du suivant. Le paramètre numberOfSegments ne doit pas être supérieur au paramètre count moins le paramètre offset plus un.
Exemples
L’exemple suivant dessine une spline cardinale.
VOID Example_DrawCurve5(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of PointF objects.
Pen greenPen(Color::Green, 3);
PointF point1(100.0f, 100.0f);
PointF point2(200.0f, 50.0f);
PointF point3(400.0f, 10.0f);
PointF point4(500.0f, 100.0f);
PointF curvePoints[4] = {
point1,
point2,
point3,
point4};
PointF* pcurvePoints = curvePoints;
// Specify offset, number of segments to draw, and tension.
int offset = 1;
int segments = 2;
REAL tension = 1.0f;
// Draw the curve.
graphics.DrawCurve(&greenPen, curvePoints, 4, offset, segments, tension);
//Draw the points in the curve.
SolidBrush redBrush(Color::Red);
graphics.FillEllipse(&redBrush, Rect(95, 95, 10, 10));
graphics.FillEllipse(&redBrush, Rect(195, 45, 10, 10));
graphics.FillEllipse(&redBrush, Rect(395, 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(495, 95, 10, 10));
}
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 | gdiplusgraphics.h (inclure Gdiplus.h) |
Bibliothèque | Gdiplus.lib |
DLL | Gdiplus.dll |