Поделиться через


Метод GraphicsPathIterator::GetCount (gdipluspath.h)

Метод GraphicsPathIterator::GetCount возвращает количество точек данных в пути.

Синтаксис

INT GetCount();

Возвращаемое значение

Тип: INT

Этот метод возвращает количество точек данных в пути.

Комментарии

Этот объект GraphicsPathIterator связан с объектом GraphicsPath . Этот объект GraphicsPath имеет массив точек и массив типов. Каждый элемент в массиве типов представляет собой байт, указывающий тип точки и набор флагов для соответствующего элемента в массиве точек. Возможные типы точек и флаги перечислены в перечислении PathPointType .

Примеры

В следующем примере создается объект GraphicsPath , а затем к пути добавляется прямоугольник и эллипс. Код передает адрес этого объекта GraphicsPath конструктору GraphicsPathIterator , чтобы создать итератор, связанный с путем. Код вызывает метод GraphicsPathIterator::GetCount итератора для определения количества точек данных в пути. Вызов GraphicsPathIterator::Enumerate извлекает из пути два массива: один из них содержит точки данных пути, а второй — типы точек пути. После получения точек данных код вызывает метод FillEllipse объекта для рисования каждой из точек данных.


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;
}

Требования

Требование Значение
Минимальная версия клиента Windows XP, Windows 2000 Профессиональная [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header gdipluspath.h (включая Gdiplus.h)
Библиотека Gdiplus.lib
DLL Gdiplus.dll

См. также раздел

Построение и рисование контуров

GetPathData

Методы GetPathPoints

GetPathTypes

GetPointCount

GraphicsPath

GraphicsPathIterator

GraphicsPathIterator::CopyData

GraphicsPathIterator::Enumerate

Пути