Freigeben über


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

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

Syntax

Status GetPathPoints(
  [out] Point *points,
  [in]  INT   count
);

Parameter

[out] points

Typ: Punkt-*

Zeiger auf ein Array von Point-Objekten, die die Datenpunkte empfangen. Sie müssen Speicher für dieses Array zuweisen. Sie können die GraphicsPath::GetPointCount-Methode aufrufen, um die erforderliche Größe des Arrays zu ermitteln. Die Größe in Bytes sollte der Rückgabewert GraphicsPath::GetPointCount multipliziert mit Größe(Punkt).

[in] count

Typ: INT-

Ganze Zahl, die die Anzahl der Elemente in den Punkten Array angibt. Legen Sie diesen Parameter auf den Rückgabewert der GraphicsPath::GetPointCount-Methode fest.

Rückgabewert

Typ: Status-

Wenn die Methode erfolgreich ist, wird Ok zurückgegeben, bei dem es sich um ein Element der Status Enumeration handelt.

Wenn die Methode fehlschlägt, wird eines der anderen Elemente der Status Enumeration zurückgegeben.

Bemerkungen

Ein GraphicsPath--Objekt weist ein Array von Punkten und ein Array von Typen auf. 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 werden in der PathPointType--Aufzählung aufgeführt.

Beispiele

Das folgende Beispiel erstellt und zeichnet einen Pfad mit einer Linie, einem Rechteck, einer Ellipse und einer Kurve. 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 groß genug zu, um das Array von Datenpunkten zu empfangen, und übergibt die Adresse dieses Puffers an die GraphicsPath::GetPathPoints-Methode. Schließlich zeichnet der Code die einzelnen Datenpunkte 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;

   Point points[] = {
      Point(200, 200),
      Point(250, 240),
      Point(200, 300),
      Point(300, 310),
      Point(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();
   Point* dataPoints = new Point[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
mindestens unterstützte Client- Windows XP, Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- gdipluspath.h (include Gdiplus.h)
Library Gdiplus.lib
DLL- Gdiplus.dll

Siehe auch

Clipping mit einer Region

Erstellen und Zeichnen von Pfaden

Erstellen eines Pfadverlaufs

GraphicsPath-

GraphicsPath::GetPathData-

GraphicsPath::GetPathTypes

GraphicsPath::GetPointCount

PathData-

PathPointType-

Pfade

Punkt-