Método GraphicsPathIterator::GetCount (gdipluspath.h)
El método GraphicsPathIterator::GetCount devuelve el número de puntos de datos de la ruta de acceso.
Sintaxis
INT GetCount();
Valor devuelto
Tipo: INT
Este método devuelve el número de puntos de datos de la ruta de acceso.
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 muestran en la enumeración PathPointType .
Ejemplos
En el ejemplo siguiente se crea un objeto GraphicsPath y, a continuación, se agrega un rectángulo y una elipse a la ruta de acceso. El código pasa la dirección de ese objeto GraphicsPath a un constructor GraphicsPathIterator para crear un iterador asociado a la ruta de acceso. El código llama al método GraphicsPathIterator::GetCount del iterador para determinar el número de puntos de datos de la ruta de acceso. La llamada a GraphicsPathIterator::Enumerate recupera dos matrices de la ruta de acceso: una que contiene los puntos de datos de la ruta de acceso y otra que contiene los tipos de punto de la ruta de acceso. Una vez recuperados los puntos de datos, el código llama al método FillEllipse de un objeto para dibujar cada uno de los puntos de datos.
VOID GetCountExample(HDC hdc)
{
Graphics graphics(hdc);
// Create a path that has a rectangle and an ellipse.
GraphicsPath path;
path.AddRectangle(Rect(20, 20, 60, 30));
path.AddEllipse(Rect(20, 70, 100, 50));
// Create an iterator, and associate it with the path.
GraphicsPathIterator iterator(&path);
// Get the number of data points in the path.
INT count = iterator.GetCount();
// Get the data points.
PointF* points = new PointF[count];
BYTE* types = new BYTE[count];
iterator.Enumerate(points, types, count);
// Draw the data points.
SolidBrush brush(Color(255, 255, 0, 0));
for(INT j = 0; j < count; ++j)
graphics.FillEllipse(
&brush,
points[j].X - 3.0f,
points[j].Y - 3.0f,
6.0f,
6.0f);
delete points;
delete types;
}
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::CopyData