GraphicsPath::AddCurve(constPointF*,INT,INT,INT,REAL)-Methode (gdipluspath.h)

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

Weitere Informationen

AddBezier-Methoden

AddBeziers-Methoden

AddClosedCurve-Methoden

AddCurve-Methoden

Kardinal-Splines

Ausschneiden mit einer Region

Erstellen und Zeichnen von Pfaden

Erstellen eines Pfadverlaufs

Zeichnen kardinaler Splines

Graphicspath

Paths

Pointf