Graphics::D rawCurve(constPen*,constPoint*,INT,INT,INT,REAL)-Methode (gdiplusgraphics.h)
Die Graphics::D rawCurve-Methode zeichnet eine Kardinalspline.
Syntax
Status DrawCurve(
[in] const Pen *pen,
[in] const Point *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 Point*
Zeiger auf ein Array von Point-Objekten , die die Koordinaten angeben, die die 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_DrawCurve2(HDC hdc)
{
Graphics graphics(hdc);
// Define a Pen object and an array of Point objects.
Pen greenPen(Color::Green, 3);
Point point1(100, 100);
Point point2(200, 50);
Point point3(400, 10);
Point point4(500, 100);
Point curvePoints[4] = {
point1,
point2,
point3,
point4};
Point* pcurvePoints = curvePoints;
// Specify offset, number of segments to draw, and tension.
int offset = 1;
int segments = 2;
REAL tension = 1.0;
// 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
Anforderung | Wert |
---|---|
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 |