ТЕМА: "ГРАФИКА
ПАСКАЛЯ"
Ход
урока.
I. Новая
тема.
ГРАФИКА
ТУРБО-ПАСКАЛЯ.
Для формирования
графических изображений в Турбо Паскале предназначен стандартный модуль GRAPH. В
нем содержится 79 графических процедур, функций, десятки стандартных констант и
типов данных. В состав модуля GRAPH входит ряд программ драйверов для наиболее
распространенных видеоадаптеров: CGA, MCGA, EGA, VGA, HERCULES, AT&T, 3270
PC. Эти драйверы хранятся в файлах с расширением BGI.
Скелет графической
программы:
program имя;
USES GRAPH;
{подключение модуля}
var
GR,GM:integer;
begin
GR:=detect;
initgraph(gr,gm,' '); {вызов процедуры
GRAPH}
графические операторы
readln;
closegraph;
end.
INITGRAPH(драйвер, режим,
'путь') - подключает графический режим. Драйвер - это переменная целого типа,
определяющая тип графического дисплея. Режим - это переменная типа integer,
определяющая режим работы графического адаптера(GM). Путь - указывает путь
программам с TPU.
DETECT - режим
автоматического определения типа.
CLOSEGRAPH - прекращает
работу графического адаптера и восстанавливает текстовый режим работы
экрана.
Цвет
0 - черный
1 - синий
2 - зеленый
3 - голубой
4 - красный
5 - лиловый
6 -
коричневый
7 - светло-серый
8 - темно-серый
9 - светло-синий
10
- светло-зеленый
11 - светло-голубой
12 - светло-красный
13 -
светло-лиловый
14 - желтый
15 - белый
ГРАФИЧЕСКИЕ
ОПЕРАТОРЫ:
- SETCOLOR(цвет) - устанавливает
текущий цвет для выводимых линий и символов;
- SETBKCOLOR(цвет) - устанавливает
цвет фона;
- MOVETO(x,y) - переводит
курсор в позицию x,y, точка при этом не высвечивается;
- LINETO(x,y) - рисует линию
от текущей позиции курсора до x,y;
- LINEREL(Dx,Dy) - рисует
линию от текущей позиции на относительное расстояние Dx,Dy;
- PUTPIXEL(x,y,цвет) - выводит
точку;
- LINE(x1,y1,x2,y2) - выводит
линию;
- CIRCLE(x,y,r) - выводит
окружность;
- ARC(x,y,начальный угол,конечный
угол,r) - выводит дугу (углы измеряются в градусах против часовой стрелки);
- ELLIPSE(x,y,нач.угол,кон.угол,Rx,Ry) - эллипс;
- RECTANGLE(x1,y1,x2,y2)
- прямоугольник, где x1,y1 - координаты левого верхнего угла, x2,y2 - правого
нижнего угла;
- BAR(x1,y1,x2,y2) - закрашенный
прямоугольник;
- BAR3D(x1,y1,x2,y2,глубина,false или true) - параллелепипед;
где x1,y1 - координаты левого верхнего угла; x2,y2 - координаты правого нижнего
угла, true - верхняя грань есть, false - верхняя грань отсутствует.
- FILLELLIPSE(x,y,Rx,Ry)
- закрашенный эллипс;
- SECTOR(x,y,нач.угол,кон.угол,Rx,Ry) - сектор закрашенный;
- SETFILLESTYLE(штриховка,цвет) - каким цветом или какими штрихами будет
закрашена замкнутая область;
Штриховка:
0 - фоном
1 -сплошная
2 - _ _ _
3 - ////
4 - толстыми///
5 - \\\\
6 - толстыми \\\
7 - ++++
8 - x x x
9- квадратами
10 - редкими точками
11 - частыми точками
12 - пользовательские
- FLOODFILL(x,y,цвет,цвет
границы) - штрихует произвольную замкнутую область;
Примеры графических
программ:
Программа №1.
program
g1;
uses graph;
var gr,gm:integer;
begin
gr:=detect;
initgraph(gr,gm,' ');
setcolor(3);
setbkcolor(14);
setfillstyle(8,4);
fillellipse(100,100,30,50);
setfillstyle(2,2);
circle(200,200,50);
floodfill(200,200,3);
readln;
closegraph;
end.
Программа №2.
program
g2;
uses graph,crt;
var d,r,e:integer;
{экран расчерчивается
случайными линиями}
begin
d:=detect;
initgraph(d,r,' ');
e:=graphresult;
if e<>grok then
writeln(grapherrormsg(e))
else
begin
setgraphmode(0);
repeat
setcolor(succ(random(4)));
line(random(getmaxx),random(getmaxy),
random(getmaxx),random(getmaxy))
until keypressed;
closegraph;end;
end.
ВЫВОД ТЕКСТА
Специально для графического
режима разработаны процедуры, обеспечивающие вывод сообщений различными шрифтами
в горизонтальном и вертикальном расположении с изменением размеров и
т.д.
- OUTTEXT(ТЕКСТ) - вывод
текста, начиная с текущей позиции
- OUTTEXTXY(x,y,текст) -
вывод текста, начиная с x,y
- SETTEXTSTYLE(шрифт,направление,размер) - процедура устанавливает стиль
текстового вывода на графический экран, где
шрифт: 0 - стандартный шрифт, 1
- штриховой шрифт, 2 - уменьшенный, 3 - прямой, 4 -
готический;
направление: 0 - слева - направо, 1 - снизу - вверх;
размер: 1_32 для стандартного шрифта, 1_10 для штриховых
- SETUSERCHARSIZE(x1,x2,y1,y2) - позволяет изменить ширину и высоту
символа для штрихового шрифта
ЧЕРЕПАШЬЯ
ГРАФИКА
USES GRAPH3 - подключение
"черепашьей" графики.
Черепашка расположена в
центре экрана.
Процедуры и функции
черепашьей графики:
- SHOWTURTLE - делает черепашку
видимой с заштрихованным углом
- HIDETURTLE - делает черепашку
невидимой
- FORWARD(n) - вперед на
n шагов
- BACK(n) - назад на n шагов
- TURTLEDELAY(задержка)
- задержка в миллисекундах
- SETHEADING(угол) - установка
азимута черепашки (в градусах)
- SETPOSITION(x y) - перемещает
черепаху в заданное место без вычерчивания линий
- HOME - поместить черепашку
в центр экрана
- PENDOWN - опустить перо
- PENUP - поднять перо
- SETPENCOLOR (цвет) - выбирает
цвет той линии, которая вычерчивается черепахой
- TURNRIGHT(угол) - поворот
направо по часовой стрелке, если угол отрицательный - налево
- TURNLEFT(угол) - поворот
налево
- TURTLEWINDOW(x,y,ширина,высота) - определяет графическое окно для черепашьей
графики
- XCOR__ функции
определяют положение черепахи соответственно по YCOR__ по горизонтали и
вертикали
III. Практическая
работа на ЭВМ.
Вызвать с диска программы
№1, № 2. Запустить их на выполнение.
Задание. Нарисовать "кораблик".
Творческая работа.
IV. Домашнее задание.
Выучить конспект.
к оглавлению
на домашнюю