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 |