Эллипс и его фрагменты

При вызове функции EllipseO указываются координаты прямоугольника, описанного около эллипса, как в следующем примере: Ellipse (hDC.50.75.150.200)

Если используется перо толщиной в один пиксел, то отображаемая фигура включает в себя точки левой и верхней границ и не включает точки правой

Вывод графических примитивов

и нижней границ. Так, в приведенном примере координата X крайней левой точки эллипса равна 50, а крайней правой - 199.

Сегмент, сектор и дуга выводятся функциями с одинаковым набором параметров:

BOOL Chord (HOC hDC, int nXl. int nYl. int nX2, int nY2,
int firstX. int firstY, int secondX, int secondY) BOOL Pie (HDC hDC. int nXl. int nYl. int nX2. int nY2.
int firstX. int firstY. int secondX. int secondY) BOOL Arc (HDC hDC. int nXl. int nYl. int nX2. int nY2.
int firstX. int firstY. int secondX. int secondY)

Первые две пары координат задают ограничивающий прямоугольник эллипса. Последние две пары определяют прямые, показанные на рис. 13.2. Это первый радиус, проходящий через центр эллипса и точку с координатами (f i rstX. f i rstY), и второй радиус, проходящий через центр эллипса и точку с координатами (secondX. secondY).

Эллипсы

Рис. 13.2. Эллипсы

При формировании фигур используются точки пересечения радиусов с контуром эллипса.

Функция Chord() сформирует первую фигуру (закрашенную черным часть эллипса), функция Pi е() - вторую, а функция Arc О - дугу эллипса, показанную внизу.

По умолчанию функции включают в рисунок участок эллипса, получаемый движением от первого радиуса ко второму против часовой стрелки. Можно изменить это направление при помощи функции SetArcDi recti on (hDC. int ArcDirection).

Если параметр ArcDi recti on имеет значение AD_C0UNTERCL0CKWISE, то применяется обход против часовой стрелки, если используется значение AD_CL0CKWISE, то будет использоваться обход фигуры по часовой стрелке.

Кривые Безье Можно нарисовать кривую произвольной формы при помощи функции PolyBezier, синтаксис которой приведен ниже"opengl4_163.html">⇐ Предыдущая| |Следующая ⇒