- Задание графического режима
- Линия
- Прямоугольник
- Окружность
- Эллипс
- Дуга
содержание
Для вывода графических изображений на экран монитора в языке Pascal существует стандартная библиотека Graph, подключение которой осуществляется стандартным способом
uses Graph ;
В графическом режиме работы любое изображение на экране дисплея состоит из множества мельчайших светящихся точек – пикселей. Экран дисплея представляет собой прямоугольную сетку координат.
Графический режим
4
Program pr;
Uses crt, graph; {использование графического режима}
Var driver, {графический драйвер}
mode:integer; {графический режим}
Begin
Driver:=detect; {автораспознавание драйвера}
Initgraph(driver, mode,’путь к файлу egavga.bgi’);
{операторы и процедуры графических построений}
Readkey;
Closegraph;
End.
4
0 – черный
1 – синий
2 – зеленый
3 – голубой
4 – красный
5 – фиолетовый
6 – коричневый
7 – светло-серый
8 – темно-серый
9 – ярко-синий
10 – ярко-зелёный
11 – ярко-голубой
12 – ярко-красный
13 – ярко-розовый
14 – жёлтый
15 – белый
4
№ стиля
Вид стиля
заливки
0
№ стиля
Заполнение (закрашивает цветом фона)
1
Вид стиля
заливки
6
2
Заполнение текущим цветом
7
3
8
4
5
9
10
11
7
Линия
Оператор LINE(X1,Y1,X2,Y2); рисует на экране отрезок прямой из точки с координатами (x1,y1) до точки с координатами (x2,y2) .
8
Установка цвета
SetColor(Color:integer);
Устанавливает основной цвет рисования
SetBkColor(Color:integer);
Устанавливает текущий фоновый цвет
Например : нарисовать на экране синего цвета отрезок прямой из точки с координатами(100,50) в точку с координатами(400,300) красного цвета:
SetBkColor(1);
SetColor(4);
LINE(100,50,400,300);
8
Прямоугольник
(х1,у1)
(х2,у2)
Процедура Bar(x1,y1,x2,y2) выводит на экран закрашенный прямоугольник с координатами левого верхнего угла (х1,у1) и правого нижнего угла (х2,у2).
Чтобы начертить закрашенную фигуры нужно:
-Установить цвет фигуры:
SETCOLOR (№ цвета);
-Установить цвет и стиль закраски:
SETFILLSTYLE (№ стиля, № цвета);
-Нарисовать фигуру: {название фигуры} (данные нужные для закраски);
-Закрасить фигуру: FLOODFILL (x,y,№ цвета границы);
Где x,y – координаты точки в замкутой области.
10
Процедура CIRCLE(x,y,r) выводит на экран окружность с центром (х,у) и радиусом r .
11
Процедура ELLIPSE(x,y,L1,L2,Rx,Ry) рисует эллиптическую дугу от начального угла L1 до конечного L2 , используя Х,У как координаты центра, как горизонтальный ( Rx) и вертикальный( Ry) радиус.
х
х
Y
Rx
Y
L1
L2
Ry
12
х
L2
L1
у
r
Процедура Arc(x,y,L1,L2,r) рисует дугу с центром в точке (х,у) от начального угла L1 до конечного L2 радиусом r.
400 конец " width="640"
Примеры решения задач:
Забавные квадраты
начало
- Нарисовать квадраты, стороны которых увеличиваются от 20 до 400 ppi, с шагом 20 ppi. Центр экрана совпадает с центром квадрата. Цвет квадратов задаётся случайным числом. Для решения задачи используется цикл с постусловием.
Х1=310; у1=230;
а=20
c=random(15)
Рисуем квадрат
А400
конец
Текст программы
Воздушные пузыри
Начало
- Нарисовать окружности, кол-во которых задается пользователем. Центр, радиус и цвет окружностей задаётся случайным числом.
Ввод кол-ва
Окружностей (n)
i:=1 to n
конец
C:=random(15)
r:=random(80)
x:=random(600)
y:=random(400)
Рисуем
окружность
Текст программы
Звезда
начало
- Нарисовать звезду прямыми линиями.
Рисуем отрезок
setcolor(15);
line(200,40,300,180);
Рисуем отрезок
setcolor(15);
line(180,80,200,140);
Рисуем отрезок
setcolor(15);
line(300,80,320,140);
…
конец
Текст программы
Цветок
начало
Задаем цвет лепесткам
setcolor(1 4 );
- Нарисовать цветок используя оператор Ellipse.
Рисуем лепестки
Ellipse(100,300,0,180,25,20);
Ellipse(100,300,0,180,25,20); Ellipse(100,300,0,180,25,20); Ellipse(100,300,0,180,25,20);
Задаем цвет цветку
setcolor(1 4 );
Рисуем середину цветка circle(100,50,15);
конец
Тест программы
20
Робот
начало
- Нарисовать робота из разноцветных прямоугольников.
Рисуем туловище:
setfillStyle(1,11);
Bar(200,40,300,180);
Рисуем голову
setfillStyle(1, 15 );
Bar(180,80,200,140);
Рисуем глаз
setfillStyle(1, 14 );
Bar(300,80,320,140);
…
конец
Текст программы
Снеговик
начало
setcolor(1 1 ); Setfilstyle(1,11);
floodFillStyle(260,120,11);
- Нарисовать снеговик одними разноцветными окружностями.
setcolor(1 1 ); Setfilstyle(1,11);
floodFillStyle(260,220,11);
setcolor(1 1 ); Setfilstyle(1,11);
floodFillStyle(260,360,11);
…
конец
Текст программы
Колобок
начало
- Нарисовать колобка одними разноцветными эллипсами.
Рисуем овал колобка
Рисуем левый глаз
Рисуем правый глаз
Рисуем нос
Рисуем рот
конец
Текст программы
1.Задание графического режима……………………...3
2.Линия…………………………………………………...8
3.Прямоугольник……………………………………....10
4.Окружность………………………………………….11
5.Эллипс…………………………………………...…….12
6. Дуга……………………………...…………………….13
7.Примеры решения задач……………………………14
- Забавные квадраты…………………… - Воздушные пузыри……………………...16 Звезда……………………………………...18 Цветок………...……………………….....20 Робот……………………………………..22 Снеговик…………………………………..24 Колобок.......................................................26
- Забавные квадраты…………………… -
- Воздушные пузыри……………………...16
- Звезда……………………………………...18
- Цветок………...……………………….....20
- Робот……………………………………..22
- Снеговик…………………………………..24
- Колобок.......................................................26
26

Создание простых изображений на Паскале (1.55 MB)

