Graphics ::D rawBeziers(constPen*,constPointF*,INT) method (gdiplusgraphics.h)
La méthode Graphics ::D rawBeziers dessine une séquence de splines de Bézier connectées.
Syntaxe
Status DrawBeziers(
const Pen *pen,
const PointF *points,
INT count
);
Paramètres
pen
Pointeur vers un stylet utilisé pour dessiner les splines de Bézier.
points
Pointeur vers un tableau d’objets PointF qui spécifient les points de début, de fin et de contrôle des splines de Bézier.
count
Entier qui spécifie le nombre d’éléments dans le tableau de points .
Valeur retournée
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
Une spline de Bézier ne passe pas par ses points de contrôle. Les points de contrôle agissent comme des aimants, tirant la courbe dans certaines directions pour influencer la façon dont une spline de Bézier se plie. Chaque spline de Bézier nécessite un point de départ et un point de fin. Chaque point de terminaison est le point de départ de la prochaine spline de Bézier.
Exemples
L’exemple suivant dessine une paire de courbes de Bézier.
VOID Example_DrawBeziers2(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of PointF objects.
Pen greenPen(Color(255, 0, 255, 0), 3);
PointF startPoint(100.0f, 100.0f);
PointF ctrlPoint1(200.0f, 50.0f);
PointF ctrlPoint2(400.0f, 10.0f);
PointF endPoint1(500.0f, 100.0f);
PointF ctrlPoint3(600.0f, 200.0f);
PointF ctrlPoint4(700.0f, 400.0f);
PointF endPoint2(500.0f, 500.0f);
PointF curvePoints[7] = {
startPoint,
ctrlPoint1,
ctrlPoint2,
endPoint1,
ctrlPoint3,
ctrlPoint4,
endPoint2};
// Draw the Bezier curves.
graphics.DrawBeziers(&greenPen, curvePoints, 7);
// Draw the control and end points.
SolidBrush redBrush(Color(255, 255, 0, 0));
graphics.FillEllipse(&redBrush, Rect(100 - 5, 100 - 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(500 - 5, 100 - 5, 10, 10));
graphics.FillEllipse(&redBrush, Rect(500 - 5, 500 - 5, 10, 10));
SolidBrush blueBrush(Color(255, 0, 0, 255));
graphics.FillEllipse(&blueBrush, Rect(200 - 5, 50 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(400 - 5, 10 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(600 - 5, 200 - 5, 10, 10));
graphics.FillEllipse(&blueBrush, Rect(700 - 5, 400 - 5, 10, 10));
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | gdiplusgraphics.h |