Функция PolyDraw (wingdi.h)

Функция PolyDraw рисует набор сегментов линий и кривых Безье.

Синтаксис

BOOL PolyDraw(
  [in] HDC         hdc,
  [in] const POINT *apt,
  [in] const BYTE  *aj,
  [in] int         cpt
);

Параметры

[in] hdc

Дескриптор для контекста устройства.

[in] apt

Указатель на массив структур POINT , содержащий конечные точки для каждого сегмента строки, а также конечные точки и контрольные точки для каждой кривой Безье в логических единицах.

[in] aj

Указатель на массив, указывающий способ использования каждой точки в массиве lppt . Этот параметр может принимать одно из указанных ниже значений.

Тип Значение
PT_MOVETO
Указывает, что эта точка начинает несвязанную фигуру. Эта точка становится новой текущей позицией.
PT_LINETO
Указывает, что линия должна быть отрисована от текущей позиции до этой точки, которая затем становится новой текущей позицией.
PT_BEZIERTO
Указывает, что эта точка является контрольной или конечной точкой для кривой Безье.

PT_BEZIERTO типы всегда встречаются в наборах из трех. Текущее положение определяет начальную точку для кривой Безье. Первые две точки PT_BEZIERTO являются контрольной точкой, а третья точка PT_BEZIERTO — конечной точкой. Конечная точка становится новой текущей позицией. Если нет трех последовательных точек PT_BEZIERTO, возникает ошибка.

 

Тип PT_LINETO или PT_BEZIERTO можно объединить со следующим значением с помощью побитового оператора ИЛИ, чтобы указать, что соответствующая точка является последней точкой на рисунке, а рисунок закрыт.

Значение Значение
PT_CLOSEFIGURE
Указывает, что рисунок автоматически закрывается после завершения PT_LINETO или PT_BEZIERTO типа для этой точки. От этой точки выполняется линия до последней точки PT_MOVETO или точки MoveToEx .

Это значение объединяется с типом PT_LINETO для строки или с типом PT_BEZIERTO конечной точки кривой Безье с помощью побитового оператора OR.

Текущая позиция устанавливается в конечную точку закрывающей линии.

[in] cpt

Общее количество точек в массиве lppt , совпадает с числом байтов в массиве lpbTypes .

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

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение.

Комментарии

Функцию PolyDraw можно использовать вместо последовательных вызовов функций MoveToEx, LineTo и PolyBezierTo для рисования несвязанных фигур. Линии и кривые рисуются с помощью текущего пера, а рисунки не заполняются. Если есть активный путь, запущенный путем вызова BeginPath, PolyDraw добавляет в путь.

Точки, содержащиеся в массиве lppt и массиве lpbTypes , указывают, является ли каждая точка частью операции MoveTo, LineTo или PolyBezierTo . Можно также закрыть цифры.

Эта функция обновляет текущую позицию.

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header wingdi.h (включая Windows.h)
Библиотека Gdi32.lib
DLL Gdi32.dll

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

BeginPath

EndPath

Функции линий и кривых

Lineto

Общие сведения о линиях и кривых

MoveToEx

ТОЧКИ

PolyBezierTo

Полилинии