Построение дуг и окружностей

Процедура вычерчивания окружности текущим цветом имеет следующий формат:

Cicrle (x,y,r:word), где x,y – координаты центра окружности, r – ее радиус.
Например, фрагмент программы обеспечит вывод ярко-зеленой окружности с радиусом 50 пикселей и центром в точке (450, 100):

SetColor(LightGreen);
Circle(450, 100, 50);


Дуги можно вычертить с помощью процедуры Arc(x,y:integer,a,b,R:integer), где x,y - центр окружности, a,b - начальный и конечный углы в градусах, R – радиус. Для задания углов используется полярная система координат.
Цвет для вычерчивания устанавливается процедурой SetColor.В случае a=0 и b=360, вычерчивается полная окружность.
Например, выведем дугу красного цвета от 0 до 90° в уже вычерченной с помощью Circle(450, 100, 50) окружности:

SetColor(Red);
Arc(450, 100, 0, 90, 50);


Для построения эллиптических дуг предназначена процедура Ellipse (x, y: integer, a, b, Rx, Ry: integer), где x, y – центр эллипса, Rx, Ry:горизонтальная и вертикальная оси. В случае a=0 и b=360 вычерчивается полный эллипс.
Например, построим голубой эллипс:

SetColor (9);
Ellipse (100, 100, 0, 360, 50, 50);


Фон внутри эллипса совпадает с фоном экрана. Чтобы создать закрашенный эллипс, используется специальная процедура FillEllipse (x, y: integer, Rx, Ry: integer). Закраска эллипса осуществляется с помощью процедуры SetFillStyle(a,b:word), где а – стиль закраски (таблица 4), b – цвет закраски (таблица 1).
Например, нарисуем ярко-красный эллипс, заполненный редкими точками зеленого цвета:

SetFillStyle (WideDotFill,Green); { установка стиля заполнения}
SetColor (12); {цвет вычерчивания эллипса}
FillEllipse(300, 150, 50, 50);

Стандартные стили заполнения

Константа Значение Маска
EmptyFill 0 Заполнение цветом фона
SolidFill 1 Заполнение текущим цветом
LineFill 2 Заполнение символами --, цвет – color
LtslashFill 3 Заполнение символами // нормальной толщины, цвет – color
SlashFill 4 Заполнение символами // удвоенной толщины, цвет – color
BkslashFill 5 Заполнение символами \ удвоенной толщины, цвет – color
LtbkSlahFill 6 Заполнение символами \ нормальной толщины, цвет – color
HatchFill 7 Заполнение вертикально-горизонтальной штриховкой тонкими линиями, цвет – color
XhatchFill 8 Заполнение штриховкой крест-накрест по диагонали «редкими» тонкими линиями, цвет – color
InterLeaveFill 9 Заполнение штриховкой крест-накрест по диагонали «частыми» тонкими линиями, цвет – color
WideDotFill 10 Заполнение «редкими» точками
CloseDotFill 11 Заполнение «частыми» точками
UserFill 12 Заполнение по определенной пользователем маске заполнения, цвет – color

таблица 4

Для построения секторов можно использовать следующие процедуры:
PieSlice (x,y:integer,a,b,R:word),которая рисует и заполняет сектор круга. Координаты x,y – центр окружности, сектор рисуется от начального угла a до конечного угла b, а закрашивание происходит при использовании специальных процедур;

Sector (x, y: integer, a, b, Rx, Ry: word), которая создает и заполняет сектор в эллипсе. Координаты x,y – центр, b, Rx, Ry – горизонтальный и вертикальный радиусы, и сектор вычерчивается от начального угла a до конечного угла b.

Пример использования PieSlice

SetFillStyle (10, 10); {установка стиля}
SetColor (12); {цвет вычерчивания}
PieSlice (100, 100, 0, 90, 50);


Пример использования Sector

SetFillStyle (11, 9); {установка стиля}
SetColor (LightMagenta);{цвет вычерчивания}
Sector (300, 150, 180, 135, 60, 70);



Опубликовал admin
16 Ноя, Воскресенье 2003г.



Программирование для чайников.