Condividi tramite


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

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

Sintassi

Status DrawBeziers(
  [in] const Pen   *pen,
  [in] const Point *points,
  [in] INT         count
);

Parametri

[in] pen

Tipo: const Penna*

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

[in] points

Tipo: const Point*

Puntatore a una matrice di oggetti Point che specificano i punti di partenza, di fine e di controllo delle spline di Bézier. La coordinata finale di una spline di Bézier è la coordinata iniziale della spline di Bézier successiva.

[in] count

Tipo: INT

Integer che specifica il numero di elementi nella matrice punti.

Valore restituito

Tipo: stato

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

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

Osservazioni

Una spline di Bézier non passa attraverso i relativi punti di controllo. I punti di controllo agiscono come magneti, tirando la curva in determinate direzioni per influenzare il modo in cui le spline di Bézier piegano.

Esempi

L'esempio seguente disegna una coppia di curve di Bézier.


VOID Example_DrawBeziers(HDC hdc)
{
   Graphics graphics(hdc);

   // Define a Pen object and an array of Point objects.
   Pen greenPen(Color(255, 0, 255, 0), 3);

   Point startPoint(100, 100);
   Point ctrlPoint1(200, 50);
   Point ctrlPoint2(400, 10);
   Point endPoint1(500, 100);
   Point ctrlPoint3(600, 200);
   Point ctrlPoint4(700, 400);
   Point endPoint2(500, 500);

   Point 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));
}

Fabbisogno

Requisito Valore
client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione gdiplusgraphics.h (include Gdiplus.h)
libreria Gdiplus.lib
dll Gdiplus.dll

Vedere anche

Bézier Splines

metodi DrawBezier

DrawBeziers

Disegno Bézier Splines

grafica

penna

point