Condividi tramite


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

Il metodo Graphics::D rawCurve disegna una spline cardinal.

Sintassi

Status DrawCurve(
  [in] const Pen    *pen,
  [in] const PointF *points,
  [in] INT          count,
  [in] INT          offset,
  [in] INT          numberOfSegments,
  [in] REAL         tension
);

Parametri

[in] pen

Tipo: penna const *

Puntatore a una penna usata per disegnare la spline cardinali.

[in] points

Tipo: const PointF*

Puntatore a una matrice di oggetti PointF che specificano le coordinate passate dalla spline cardinali.

[in] count

Tipo: INT

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

[in] offset

Tipo: INT

Intero che specifica l'elemento nella matrice di punti che specifica il punto in cui inizia lo spline cardinal.

[in] numberOfSegments

Tipo: INT

Intero che specifica il numero di segmenti nella spline cardinal.

[in] tension

Tipo: REAL

Numero reale che specifica in che modo la curva si piega in modo stretto attraverso le coordinate della spline cardinali.

Valore restituito

Tipo: Stato

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

Un segmento viene definito come curva che connette due punti consecutivi nella spline cardinal. Il punto finale di ogni segmento è il punto iniziale per il successivo. Il parametro numberOfSegments non deve essere maggiore del parametro count meno il parametro offset più uno.

Esempio

Nell'esempio seguente viene disegnato uno spline cardinali.

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

Requisiti

   
Client minimo supportato Windows XP, Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione gdiplusgraphics.h (include Gdiplus.h)
Libreria Gdiplus.lib
DLL Gdiplus.dll

Vedi anche

Cardinal Splines

Metodi DrawClosedCurve

Disegno di spline cardinali

Grafica

Penna

Point