графика
преподаватель
Климова Ольга Сергеевна,
г. Кулебаки
В графическом режиме экран рассматривается как последовательность точек (пикселей), из которых строится изображение.
Количество пикселей в строке и количество строк на экране характеризуют его разрешающую способность.
640х480 –
в строке 640 пикселей, а строк всего 480.
Пиксель определяют : координаты X , Y и цвет.
Режимы работы монитора
Графический
Текстовый
1
1
25
80
0
0
479
639
пиксель
знакоместо
Разрешающая способность 640х480
Разрешающая способность 80х25
Для работы в графическом режиме разработана библиотека GRAPH , содержащая множество графических процедур и набор драйверов.
Драйвер находится в файле с расширением . TPU
Для того, чтобы в программе можно было использовать процедуры модуля GRAPH , его надо подключить к программе, использовав раздел описаний модулей:
USES GRAPH ;
С момента подключения модуля GRAPH программисту доступны все находящиеся в ней подпрограммы.
В первую очередь вызывается процедура InitGraph , которая устанавливает один из возможных графических режимов.
Формат процедуры :
InitGraph ( gd,gm,’’);
В программе нужно описать переменные gd,gm :
var
gd,gm : integer ;
В разделе операторов, перед тем как написать первый графический оператор, следует выполнить :
gd:=vga;
gm:=vgahi ;
InitGraph ( gd,gm,’’);
if Graphresult=grok then
Установка цвета и стиля заполнения
SetColor ( N ); - установка цвета графического изображения.
SetLineStyle ( Ln , P , T ); - установка способа закраски.
Ln - стиль линий
0
сплошная
1
пунктирная
2
штрихпунктирная
3
штриховая
Р- шаблон (0-для всех линий), Т- толщина линий
1
3
нормальная
толстая
Цвет
Имя
Black
Значение
0
Blue
черный
1
Green
синий
2
Cyan
зеленый
3
Red
Magenta
бирюзовый
4
Brown
красный
5
LightGray
малиновый
6
DarkGray
коричневый
7
LightBlue
светло-серый
8
LightGreen
темно-серый
9
LightCyan
ярко-голубой
10
ярко-зеленый
11
LightRed
LightMagenta
12
ярко-бирюзовый
Yellow
ярко-красный
13
White
ярко-малиновый
14
желтый
15
белый
Рисование геометрических фигур:
1. Вывод отрезка
Line ( x 1, y 1, x 2, y 2);
( x 1, y 1) - координаты начала отрезка
( x 2, y 2) - координаты конца отрезка
!!! Обратите внимание на то, что в процедуре не задается цвет. В этом и аналогичных случаях цвет определяется процедурой SetColor ( N ).
2. Построение прямоугольника
Rectangle ( x 1, y 1, x 2, y 2);
Точки с координатами ( x 1, y 1) и ( x 2, y 2) должны быть противоположными вершинами прямоугольника.
, кон_угол , xR , yR ) - построение эллиптических дуг. X , Y - координаты центра, xR , yR - длина горизонтальной и вертикальной полуосей в пикселях. Угол отсчитывается против часовой стрелки и указывается в градусах. Дуга эллипса вычерчивается от заданного начального угла до конечного угла. Если значение начального угла 0°, а конечного 360° - будет построен полный эллипс. Arc ( x , y , нач_угол , кон_угол , r ); " width="640"
3. Построение дуг, окружностей, эллипсов.
Circle ( x , y , ); - окружность указанного радиуса
Ellipse ( x , y , нач_угол , кон_угол , xR , yR ) - построение эллиптических дуг.
X , Y - координаты центра,
xR , yR - длина горизонтальной и вертикальной полуосей в пикселях.
Угол отсчитывается против часовой стрелки и указывается в градусах. Дуга эллипса вычерчивается от заданного начального угла до конечного угла. Если значение начального угла 0°, а конечного 360° - будет построен полный эллипс.
Arc ( x , y , нач_угол , кон_угол , r );
10 20 30 40 50 60 70 80 90
x
10
20
30
40
50
Program primer;
USES GRAPH;
var
gd , gm : integer ;
begin
gd:=vga; графический адаптер
gm:=vgahi ; графический режим 640х480
InitGraph( gd,gm,’’); включение графического режима
if Graphresult=grok then если режим включен успешно
begin
setcolor(5);
SetLineStyle(2,0,3);
Line(10,50,10,10);
Line(10,10,20,20);
Line(20,20,30,10);
Line(30,10,30,50);
Line(40,10,40,50);
Line(40,50,60,10);
Line(60,10,60,50);
Rectangle(70,10,90,40);
Line(70,40,70,50);
End ;
Readln ;
End .
Практические задания
1 вариант.
Составьте программу вывода на графический экран снеговика.
2 вариант.
Составьте программу вывода на графический экран корабля.
3 вариант.
Составьте программу вывода на графический экран НЛО.
4 вариант.
Составьте программу вывода на графический экран будильника.
5 вариант.
Составьте программу вывода на графический экран электронных часов.