Freigeben über


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

Die Graphics::D rawCurve-Methode zeichnet eine Kardinalspline.

Syntax

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

Parameter

[in] pen

Typ: const Pen*

Zeiger auf einen Stift, der zum Zeichnen des Kardinalsplines verwendet wird.

[in] points

Typ: const PointF*

Zeiger auf ein Array von PointF-Objekten , die die Koordinaten angeben, durch die der Kardinalspline durchläuft.

[in] count

Typ: INT

Ganzzahl, die die Anzahl der Elemente im Punktarray angibt.

[in] offset

Typ: INT

Integer, die das Element im Punktarray angibt, das den Punkt angibt, an dem die Kardinalspline beginnt.

[in] numberOfSegments

Typ: INT

Eine ganze Zahl, die die Anzahl der Segmente im Kardinalspline angibt.

[in] tension

Typ: REAL

Reelle Zahl, die angibt, wie eng sich die Kurve durch die Koordinaten der Kardinalspline biegt.

Rückgabewert

Typ: Status

Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .

Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.

Hinweise

Ein Segment wird als eine Kurve definiert, die zwei aufeinanderfolgende Punkte in der Kardinalspline verbindet. Der Endpunkt jedes Segments ist der Ausgangspunkt für das nächste Segment. Der parameter numberOfSegments darf nicht größer als der count-Parameter minus offset-Parameter plus 1 sein.

Beispiele

Im folgenden Beispiel wird eine Kardinalspline zeichnet. erstellt.

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

Anforderungen

   
Unterstützte Mindestversion (Client) Windows XP, Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile gdiplusgraphics.h (include Gdiplus.h)
Bibliothek Gdiplus.lib
DLL Gdiplus.dll

Weitere Informationen

Kardinal-Splines

DrawClosedCurve-Methoden

Zeichnen von Kardinal-Splines

Grafiken

Stift

Point