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 , 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(Point) sein.
[in] count
Typ: INT
Ganzzahl, die die Anzahl der Elemente im Punktarray angibt. Legen Sie diesen Parameter auf den 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, wird eines der anderen Elemente der Status-Enumeration zurückgegeben.
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 einen Satz von Flags für das entsprechende Element im Array von Punkten angibt. Mögliche Punkttypen und Flags werden 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 zeichnert. 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 alle 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
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
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für