GraphicsPath::GetPathPoints(PointF*,INT)-Methode (gdipluspath.h)

Die GraphicsPath::GetPathPoints-Methode ruft das Punktarray dieses Pfads ab. Das Array enthält die Endpunkte und Steuerpunkte der Linien und Bézier-Splines, die zum Zeichnen des Pfads verwendet werden.

Syntax

Status GetPathPoints(
  PointF *points,
  INT    count
);

Parameter

points

Zeiger auf ein Array von PointF-Objekten , das die Datenpunkte empfängt. Sie müssen Arbeitsspeicher für dieses Array zuweisen. Sie können die GraphicsPath::GetPointCount-Methode aufrufen, um die erforderliche Größe des Arrays zu bestimmen. Die Größe in Bytes sollte der Rückgabewert von GraphicsPath::GetPointCount multipliziert mit sizeof(PointF)sein.

count

Ganzzahl, die die Anzahl der Elemente im Punktarray angibt. Legen Sie diesen Parameter gleich dem Rückgabewert der GraphicsPath::GetPointCount-Methode fest.

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

Ein GraphicsPath-Objekt verfügt über ein Array von Punkten und ein Array von Typen. Jedes Element im Array von Typen ist ein Byte, das den Punkttyp und eine Reihe von Flags für das entsprechende Element im Array von Punkten angibt. Mögliche Punkttypen und Flags sind in der PathPointType-Enumeration aufgeführt.

Beispiele

Im folgenden Beispiel wird ein Pfad mit einer Linie, einem Rechteck, einer Ellipse und einer Kurve erstellt und gezeichnet. Der Code ruft die GraphicsPath::GetPointCount-Methode des Pfads auf, um die Anzahl der im Pfad gespeicherten Datenpunkte zu bestimmen. Der Code weist einen Puffer zu, der groß genug ist, um das Array von Datenpunkten zu empfangen, und übergibt die Adresse dieses Puffers an die GraphicsPath::GetPathPoints-Methode . Schließlich zeichnet der Code jeden Datenpunkt des Pfads.

VOID GetPathPointsExample(HDC hdc)
{
   Graphics graphics(hdc);

   // Create a path that has a line, a rectangle, an ellipse, and a curve.
   GraphicsPath path;

   PointF points[] = {
      PointF(200, 200),
      PointF(250, 240),
      PointF(200, 300),
      PointF(300, 310),
      PointF(250, 350)};

   path.AddLine(20, 100, 150, 200);
   path.AddRectangle(Rect(40, 30, 80, 60));
   path.AddEllipse(Rect(200, 30, 200, 100));
   path.AddCurve(points, 5);

   // Draw the path.
   Pen pen(Color(255, 0, 0, 255));
   graphics.DrawPath(&pen, &path);

   // Get the path points.
   INT count = path.GetPointCount();
   PointF* dataPoints = new PointF[count];  
   path.GetPathPoints(dataPoints, count);

   // Draw the path's data points.
   SolidBrush brush(Color(255, 255, 0, 0));
   for(INT j = 0; j < count; ++j)
   {
      graphics.FillEllipse(
         &brush, 
         dataPoints[j].X - 3.0f, 
         dataPoints[j].Y - 3.0f,
         6.0f,
         6.0f);
   }
   delete [] dataPoints; 
}
Color(255, 255, 0,  0)

Anforderungen

Anforderung Wert
Header gdipluspath.h

Weitere Informationen

Graphicspath

GraphicsPath::GetPathData

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

Pathdata

Pathpointtype

Pointf

Ausschneiden mit einer Region

Erstellen und Zeichnen von Pfaden

Erstellen eines Pfadverlaufs

Paths