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

Crear y dibujar trazados

GetPathData

Métodos GetPathPoints

GetPathTypes

GetPointCount

Graphicspath

GraphicsPathIterator

GraphicsPathIterator::CopyData

GraphicsPathIterator::Enumerate

Paths