Condividi tramite


Metodo Graphics::D rawBeziers(constPen*,constPointF*,INT) (gdiplusgraphics.h)

Il metodo Graphics::D rawBeziers disegna una sequenza di spline connesse bézier.

Sintassi

Status DrawBeziers(
  const Pen    *pen,
  const PointF *points,
  INT          count
);

Parametri

pen

Puntatore a una penna usata per disegnare le spline di Bézier.

points

Puntatore a una matrice di oggetti PointF che specificano i punti di partenza, terminazione e controllo degli spline di Bézier.

count

Intero che specifica il numero di elementi nella matrice di punti .

Valore restituito

Se il metodo ha esito positivo, restituisce Ok, ovvero un elemento dell'enumerazione Status .

Se il metodo ha esito negativo, restituisce uno degli altri elementi dell'enumerazione Status .

Commenti

Una spline di Bézier non passa attraverso i punti di controllo. I punti di controllo agiscono come magneti, trascinando la curva in determinate direzioni per influenzare il modo in cui una spline bézier si piega. Ogni spline di Bézier richiede un punto di partenza e un punto finale. Ogni punto finale è il punto di partenza per la successiva spline di Bézier.

Esempio

L'esempio seguente disegna una coppia di curve 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));
}

Requisiti

Requisito Valore
Intestazione gdiplusgraphics.h

Vedi anche

Bézier Splines

Metodi DrawBezier

Disegno di Bézier Splines

DrawBeziers

Grafica

Penna

Pointf