Функция PolyDraw рисует ряд отрезков прямых и кривые Бизье.
Синтаксис
BOOL PolyDraw( HDC hdc, // дескриптор контекста устройства CONST POINT *lppt, // массив точек CONST BYTE *lpbTypes, // идентификаторы линий и кривых int cCount // количество точек ); |
hdc
[in] Дескриптор контекста устройства.
lppt
[in] Указатель на массив структур POINT, который содержит конечные точки для каждого отрезка прямой и конечные и контрольные точки для каждой кривой Бизье, в логических единицах.
lpbTypes
[in] Указатель на массив, который определяет, как используется каждая точка в массиве lppt. Этот параметр может быть одним из нижеследующих значений.
Тип | Предназначение |
---|---|
PT_MOVETO | Определяет, что от этой точки начинается непересекающийся рисунок линии. Эта точка становится новой текущей позицией. |
PT_LINETO | Определяет, что линия должна рисоваться от текущей позиции до этой точки, которая затем становится новой текущей позицией. |
PT_BEZIERTO | Определяет, что эта точка - контрольная точка или
конечная точка для кривой Бизье.
Типы PT_BEZIERTO всегда встречаются в наборах из трех составляющих. Текущая позиция определяет начальную точку для кривой Бизье. Первые две точки PT_BEZIERTO - контрольные точки, а третья точка PT_BEZIERTO - конечная точка. Конечная точка становится новой текущей позицией. Если нет трех последовательных точек PT_BEZIERTO, все заканчивается ошибкой. |
Типы PT_LINETO или PT_BEZIERTO могут комбинироваться с нижеследующим значением при помощи использования логического оператора ИЛИ ( OR), чтобы указать, что соответствующая точка - последняя точка в рисунке линии и рисунок закрывается.
Значение | Предназначение |
---|---|
PT_CLOSEFIGURE | Определяет, что рисунок линии автоматически закрывается
после того как тип PT_LINETO или
PT_BEZIERTO для этой точки
заканчивается. Линия рисуется от этой точки до самой последней точки
типа PT_MOVETO или функции MoveToEx.
Это значение комбинируется с типом PT_LINETO для линии или с типом PT_BEZIERTO конечной точки для кривой Бизье, при помощи использования логического оператора ИЛИ (OR). Текущая позиция устанавливается в конечной точке заключительной линии. |
[in] Определяет общее количество точек в массиве lppt, которое то же самое, что и число байтов в массиве lpbTypes.
Если функция завершается успешно, возвращаемое значение - не нуль.
Если функция завершается ошибкой, возвращаемое значение - нуль.
Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Функция PolyDraw может использоваться вместо последовательных вызовов в MoveToEx, LineTo, а функции PolyBezierTo, чтобы рисовать непересекающиеся фигуры. Линии и кривые рисуются, используя текущее перо, а фигуры не закрашиваются. Если есть активный путь, запущенный при помощи вызова функции BeginPath, функция PolyDraw добавляет к пути.
Точки, содержащиеся в массиве lppt и в массиве lpbTypes указывают, является ли каждая точка частью операции функций MoveTo, LineTo или PolyBezierTo. Также возможно и закрыть фигуры.
Эта функция обновляет текущую позицию.
Смотри также
Обзор Линии и кривые, Функции, используемые линиями и кривыми, BeginPath, EndPath, LineTo, MoveToEx, POINT, PolyBezierTo, PolyLine
Размещение и совместимость PolyDraw |
||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да версии 3.1 и старше |
е | Windows Me | Нет |
н | Windows 98 | Нет |
т | Windows 95 | Нет |
С | Windows Server 2003 | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да |
в | ||
е | ||
р | ||
Используемая библиотека | Gdi32.lib | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Wingdi.h | |
- включено в | Windows.h | |
Unicode | Нет | |
Замечания по платформе | Не имеется |