AddPathEllipse()
Синтаксис
AddPathEllipse(x.d , y.d , RadiusX.d , RadiusY.d [, StartAngle.d , EndAngle.d [, Flags]])
Описание
Добавляет Эллипс (или частичный Эллипс) к векторному контуру.
По умолчанию эта функция замыкает текущую фигуру Векторного контура и добавляет эллипс в виде отдельной фигуры к векторному контуру (полные эллипсы считаются замкнутыми фигурами). Это поведение можно изменить с помощью соответствующих флагов.
Параметры
x.d, y.d Координаты задающие центральную опорную точку эллипса. RadiusX.d, RadiusY.d Значения, определяющие радиус эллипса в направлении X и Y. StartAngle.d, EndAngle.d (дополн.) Значения, определяющие угол рисования начала и конца эллипса в градусах. Угол 0 указывает на положительную ось X. Значения по умолчанию - 0 и 360 градусов соответственно. Flags (дополн.) Это может быть комбинацией следующих значений: #PB_Path_Default : Без специальных опций (по умолчанию) #PB_Path_Relative : Координаты относительно последней позиции курсора. #PB_Path_Connected : Контур эллипса будет связан линией с контуром текущей фигуры, и не будет считаться отдельной замкнутой фигурой. #PB_Path_CounterClockwise : Рисование между углами начала и конца эллипса будет против часовой стрелки.
Возвращаемое значение
Ничего.
Комментарии
Эта функция предназначена для рисования контуров отдельных эллипсов, с заданным радиусом по осям X и Y текущей системы координат. Чтобы нарисовать контур эллипса под углом, перед его добавлением необходимо повернуть систему координат вокруг центра эллипса, как показано в примере ниже. Текущую систему координат можно сохранить с помощью SaveVectorState() и восстановить с помощью RestoreVectorState().
Пример
If OpenWindow(0, 0, 0, 400, 200, "VectorDrawing", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) CanvasGadget(0, 0, 0, 400, 200) If StartVectorDrawing(CanvasVectorOutput(0)) ; Обычный эллипс. AddPathEllipse(100, 100, 80, 30) ; Повёрнутый эллипс. SaveVectorState() RotateCoordinates(300, 100, 45) AddPathEllipse(300, 100, 80, 30) RestoreVectorState() VectorSourceColor(RGBA(255, 0, 0, 255)) StrokePath(10) StopVectorDrawing() EndIf Repeat Event = WaitWindowEvent() Until Event = #PB_Event_CloseWindow EndIf
См. также
MovePathCursor(), AddPathLine(), AddPathArc(), AddPathBox(), AddPathCircle(), AddPathCurve()
Поддерживаемые OS
Все