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


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

Функция PolyDraw рисует набор сегментов линий и кривых Bézier.

Синтаксис

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

Параметры

[in] hdc

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

[in] apt

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

[in] aj

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

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

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

 

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

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

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

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

[in] cpt

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

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

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

Если функция завершается ошибкой, возвращаемое значение равно нулю.

Замечания

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wingdi.h (включая Windows.h)
библиотеки Gdi32.lib
DLL Gdi32.dll

См. также

BeginPath

EndPath

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

LineTo

Обзор линий и кривых

MoveToEx

POINT

PolyBezierTo

PolyLine