Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die GraphicsPath::AddCurve-Methode fügt der aktuellen Abbildung dieses Pfads einen Kardinalspline hinzu.
Syntax
Status AddCurve(
[in] const PointF *points,
[in] INT count,
[in] INT offset,
[in] INT numberOfSegments,
[in] REAL tension
);
Parameter
[in] points
Typ: const PointF*
Zeiger auf ein Array von Punkten, die den Kardinalspline definieren. Der Kardinalspline ist eine Kurve, die eine Teilmenge (angegeben durch die Offset - und numberOfSegments-Parameter ) der Punkte im Array durchläuft.
[in] count
Typ: INT
Ganzzahl, die die Anzahl der Elemente im Punktarray angibt.
[in] offset
Typ: INT
Ganzzahl, die den Index des Arrayelements angibt, das als erster Punkt des Kardinalsplines verwendet wird.
[in] numberOfSegments
Typ: INT
Ganze Zahl, die die Anzahl der Segmente im Kardinalspline angibt. Segmente sind die Kurven, die aufeinanderfolgende Punkte im Array verbinden.
[in] tension
Typ: REAL
Nicht abegative reelle Zahl, die die Länge der Kurve und die Krümmung der Kurve steuert. Der Wert 0 gibt an, dass der Spline eine Sequenz gerader Liniensegmente ist. Wenn der Wert steigt, wird die Kurve voller.
Rückgabewert
Typ: Status
Wenn die Methode erfolgreich ist, gibt sie OK zurück, ein Element der Status-Enumeration .
Wenn die Methode fehlschlägt, gibt sie eines der anderen Elemente der Status-Enumeration zurück.
Hinweise
Sie sollten eine Kopie des Punktearrays aufbewahren, wenn diese Punkte später benötigt werden. Das GraphicsPath-Objekt speichert die An die AddClosedCurve-Methode übergebenen Punkte nicht. Stattdessen konvertiert er den Kardinalspline in eine Sequenz von Bézier-Splines und speichert die Punkte, die diese Bézier-Splines definieren. Sie können das ursprüngliche Array von Punkten nicht aus dem GraphicsPath-Objekt abrufen.
Beispiele
Im folgenden Beispiel wird ein GraphicsPath-Objektpfad erstellt, ein Kardinal-Spline zum Pfad hinzugefügt und dann der Pfad gezogen. Der Spline wird aus den Punkten erstellt, die 2 bis 6 in einem Array von acht Punkten indiziert sind.
VOID AddCurveExample3(HDC hdc)
{
Graphics graphics(hdc);
GraphicsPath path;
PointF pts[] = {PointF(50.0f, 50.0f),
PointF(70.0f, 80.0f),
PointF(100.0f, 100.0f),
PointF(130.0f, 40.0f),
PointF(150.0f, 90.0f),
PointF(180.0f, 30.0f),
PointF(210.0f, 120.0f),
PointF(240.0f, 80.0f)};
path.AddCurve(
pts,
8, // There are eight points in the array.
2, // Start at the point with index 2.
4, // Four segments. End at the point with index 6.
1.0f);
Pen pen(Color(255, 0, 0, 255));
graphics.DrawPath(&pen, &path);
// Draw all eight points in the array.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j <= 7; ++j)
graphics.FillEllipse(&brush, pts[j].X - 3.0f, pts[j].Y - 3.0f, 6.0f, 6.0f);
}
Color(255, 255, 0, 0)
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 | gdipluspath.h (include Gdiplus.h) |
Bibliothek | Gdiplus.lib |
DLL | Gdiplus.dll |