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


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

Функция GetPath извлекает координаты, определяющие конечные точки линий, и контрольные точки кривых в пути, выбранном в заданном контексте устройства.

Синтаксис

int GetPath(
  [in]  HDC     hdc,
  [out] LPPOINT apt,
  [out] LPBYTE  aj,
  [in]  int     cpt
);

Параметры

[in] hdc

Дескриптор контекста устройства, содержащего закрытый путь.

[out] apt

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

[out] aj

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

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

PT_BEZIERTO значения всегда встречаются в наборах из трех. Точка в пути непосредственно перед ними определяет начальную точку кривой Безье. Первые две точки PT_BEZIERTO являются контрольными точками, а третья точка PT_BEZIERTO является конечной (если она жестко закодирована).

 

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

Flag Описание
PT_CLOSEFIGURE
Указывает, что рисунок автоматически закрывается после отрисовки соответствующей линии или кривой. Рисунок закрывается путем рисования линии от конечной точки линии или кривой до точки, соответствующей последнему PT_MOVETO.

[in] cpt

Общее количество структур POINT , которые могут храниться в массиве, на который указывает lpPoints. Это значение должно совпадать с числом байтов, которые могут быть помещены в массив, на который указывает lpTypes.

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

Если параметр nSize не является нулевым, возвращаемым значением является количество перечисляемых точек. Если nSize равно 0, возвращаемое значение — это общее количество точек в пути (и GetPath ничего не записывает в буферы). Если значение nSize не равно нулю и меньше количества точек в пути, возвращаемое значение равно 1.

Комментарии

Контекст устройства, определенный параметром hdc, должен содержать закрытый путь.

Точки пути возвращаются в логических координатах. Точки хранятся в пути в координатах устройства, поэтому GetPath изменяет точки с координат устройства на логические с помощью обратного текущего преобразования.

Функция FlattenPath может быть вызвана до GetPath для преобразования всех кривых в пути в сегменты линий.

Требования

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

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

FlattenPath

ТОЧКИ

Функции пути

Общие сведения о путях

PolyDraw

WidenPath