Metodo GraphicsPathIterator::CopyData (gdipluspath.h)
Il metodo GraphicsPathIterator::CopyData copia un subset dei punti dati del percorso in una matrice PointF e copia un subset dei tipi di punto del percorso in una matrice BYTE .
Sintassi
INT CopyData(
[out] PointF *points,
[out] BYTE *types,
[in] INT startIndex,
[in] INT endIndex
);
Parametri
[out] points
Tipo: PointF*
Puntatore a una matrice che riceve un subset dei punti dati del percorso.
[out] types
Tipo: BYTE*
Puntatore a una matrice che riceve un subset dei tipi di punti del percorso.
[in] startIndex
Tipo: INT
Integer che specifica l'indice iniziale dei punti e dei tipi da copiare.
[in] endIndex
Tipo: INT
Integer che specifica l'indice finale dei punti e dei tipi da copiare.
Valore restituito
Tipo: INT
Questo metodo restituisce il numero di punti copiati. Corrisponde al numero di tipi copiati.
Commenti
Questo oggetto GraphicsPathIterator è associato a un oggetto GraphicsPath . L'oggetto GraphicsPath ha una matrice di punti e una matrice di tipi. Ogni elemento nella matrice di tipi è un byte che specifica il tipo di punto e un set di flag per l'elemento corrispondente nella matrice di punti. I tipi di punti e i flag possibili sono elencati nell'enumerazione PathPointType .
È possibile chiamare il metodo GraphicsPathIterator::GetCount per determinare il numero di punti dati nel percorso.
Esempio
Nell'esempio seguente viene creato un oggetto GraphicsPath e vengono aggiunte tre righe al percorso. Il codice crea un oggetto GraphicsPathIterator> e chiama il relativo metodo GraphicsPathIterator::CopyData per recuperare i punti e i tipi di punto del percorso. Il codice visualizza quindi il conteggio restituito dal metodo GraphicsPathIterator::CopyData .
#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;
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP, Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | gdipluspath.h (include Gdiplus.h) |
Libreria | Gdiplus.lib |
DLL | Gdiplus.dll |
Vedi anche
Costruzione e creazione di percorsi
GraphicsPathIterator::Enumerate