Share via


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

Voir aussi

Bézier Splines

DrawBezier, méthodes

Dessin De Bézier Splines

DrawBeziers

Graphismes

Stylet

Pointf