Condividi tramite


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

GetPathData

Metodi GetPathPoints

GetPathTypes

GetPointCount

GraphicsPath

GraphicsPathIterator

GraphicsPathIterator::Enumerate

GraphicsPathIterator::GetCount

Percorsi