Процедура
вычерчивания окружности текущим цветом
имеет следующий формат:
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);
<<<Предыдущий урок | К содержанию | Следующий урок>>>