Método GraphicsPathIterator::CopyData (gdipluspath.h)
El método GraphicsPathIterator::CopyData copia un subconjunto de los puntos de datos de la ruta de acceso a una matriz PointF y copia un subconjunto de los tipos de punto de la ruta de acceso a una matriz BYTE .
Sintaxis
INT CopyData(
[out] PointF *points,
[out] BYTE *types,
[in] INT startIndex,
[in] INT endIndex
);
Parámetros
[out] points
Tipo: PointF*
Puntero a una matriz que recibe un subconjunto de los puntos de datos de la ruta de acceso.
[out] types
Tipo: BYTE*
Puntero a una matriz que recibe un subconjunto de los tipos de punto de la ruta de acceso.
[in] startIndex
Tipo: INT
Entero que especifica el índice inicial de los puntos y tipos que se van a copiar.
[in] endIndex
Tipo: INT
Entero que especifica el índice final de los puntos y tipos que se van a copiar.
Valor devuelto
Tipo: INT
Este método devuelve el número de puntos copiados. Es igual que el número de tipos copiados.
Comentarios
Este objeto GraphicsPathIterator está asociado a un objeto GraphicsPath . Ese objeto GraphicsPath tiene una matriz de puntos y una matriz de tipos. Cada elemento de la matriz de tipos es un byte que especifica el tipo de punto y un conjunto de marcas para el elemento correspondiente en la matriz de puntos. Los posibles tipos y marcas de punto se enumeran en la enumeración PathPointType .
Puede llamar al método GraphicsPathIterator::GetCount para determinar el número de puntos de datos de la ruta de acceso.
Ejemplos
En el ejemplo siguiente se crea un objeto GraphicsPath y se agregan tres líneas a la ruta de acceso. El código crea un objeto GraphicsPathIterator y llama a su método GraphicsPathIterator>::CopyData para recuperar los puntos y tipos de punto de la ruta de acceso. A continuación, el código muestra el recuento devuelto por el método 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;
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP, Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | gdipluspath.h (incluya Gdiplus.h) |
Library | Gdiplus.lib |
Archivo DLL | Gdiplus.dll |
Consulte también
GraphicsPathIterator::Enumerate