GraphicsPathIterator::CopyData-Methode (gdipluspath.h)
Die GraphicsPathIterator::CopyData-Methode kopiert eine Teilmenge der Datenpunkte des Pfads in ein PointF-Array und kopiert eine Teilmenge der Punkttypen des Pfads in ein BYTE-Array .
Syntax
INT CopyData(
[out] PointF *points,
[out] BYTE *types,
[in] INT startIndex,
[in] INT endIndex
);
Parameter
[out] points
Typ: PointF*
Zeiger auf ein Array, das eine Teilmenge der Datenpunkte des Pfads empfängt.
[out] types
Typ: BYTE*
Zeiger auf ein Array, das eine Teilmenge der Punkttypen des Pfads empfängt.
[in] startIndex
Typ: INT
Ganzzahl, die den Startindex der zu kopierenden Punkte und Typen angibt.
[in] endIndex
Typ: INT
Ganzzahl, die den Endindex der zu kopierenden Punkte und Typen angibt.
Rückgabewert
Typ: INT
Diese Methode gibt die Anzahl der kopierten Punkte zurück. Dies entspricht der Anzahl der kopierten Typen.
Hinweise
Dieses GraphicsPathIterator-Objekt ist einem GraphicsPath-Objekt zugeordnet. Dieses 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.
Sie können die GraphicsPathIterator::GetCount-Methode aufrufen, um die Anzahl der Datenpunkte im Pfad zu bestimmen.
Beispiele
Im folgenden Beispiel wird ein GraphicsPath-Objekt erstellt und dem Pfad drei Zeilen hinzugefügt. Der Code erstellt ein GraphicsPathIterator-Objekt> und ruft seine GraphicsPathIterator::CopyData-Methode auf, um die Punkte und Punkttypen des Pfads abzurufen. Anschließend zeigt der Code die Anzahl an, die von der GraphicsPathIterator::CopyData-Methode zurückgegeben wird.
#define BUFFER_SIZE 30
TCHAR numPointsCopied[BUFFER_SIZE];
// Create the points for three lines in a path.
Point pts[] = { Point(20, 20),
Point(100, 20),
Point(100, 50),
Point(20, 50) };
GraphicsPath path;
path.AddLines(pts, 4); // Add the lines to the path.
// Create a GraphicsPathIterator object and associate it with the path.
GraphicsPathIterator pathIterator(&path);
// Create destination arrays, and copy the path data to them.
PointF* pCopiedPoints = new PointF[4];
BYTE* pTypes = new BYTE[4];
INT count = pathIterator.CopyData(pCopiedPoints, pTypes, 0, 3);
// Confirm that the points copied.
StringCchPrintf(
numPointsCopied, BUFFER_SIZE, TEXT("%d points were copied."), count);
MessageBox(hWnd, numPointsCopied, TEXT("CopyData"), NULL);
delete[] pCopiedPoints;
delete[] pTypes;
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
Erstellen und Zeichnen von Pfaden
GraphicsPathIterator::Enumerate