ТЕМА: "ГРАФИКА ПАСКАЛЯ"

Ход урока.

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 - белый

ГРАФИЧЕСКИЕ ОПЕРАТОРЫ:

  1. SETCOLOR(цвет) - устанавливает текущий цвет для выводимых линий и символов;
  2. SETBKCOLOR(цвет) - устанавливает цвет фона;
  3. MOVETO(x,y) - переводит курсор в позицию x,y, точка при этом не высвечивается;
  4. LINETO(x,y) - рисует линию от текущей позиции курсора до x,y;
  5. LINEREL(Dx,Dy) - рисует линию от текущей позиции на относительное расстояние Dx,Dy;
  6. PUTPIXEL(x,y,цвет) - выводит точку;
  7. LINE(x1,y1,x2,y2) - выводит линию;
  8. CIRCLE(x,y,r) - выводит окружность;
  9. ARC(x,y,начальный угол,конечный угол,r) - выводит дугу (углы измеряются в градусах против часовой стрелки);
  10. ELLIPSE(x,y,нач.угол,кон.угол,Rx,Ry) - эллипс;
  11. RECTANGLE(x1,y1,x2,y2) - прямоугольник, где x1,y1 - координаты левого верхнего угла, x2,y2 - правого нижнего угла;
  12. BAR(x1,y1,x2,y2) - закрашенный прямоугольник;
  13. BAR3D(x1,y1,x2,y2,глубина,false или true) - параллелепипед;
    где x1,y1 - координаты левого верхнего угла; x2,y2 - координаты правого нижнего угла, true - верхняя грань есть, false - верхняя грань отсутствует.
  14. FILLELLIPSE(x,y,Rx,Ry) - закрашенный эллипс;
  15. SECTOR(x,y,нач.угол,кон.угол,Rx,Ry) - сектор закрашенный;
  16. SETFILLESTYLE(штриховка,цвет) - каким цветом или какими штрихами будет закрашена замкнутая область;

    Штриховка:
    0 - фоном
    1 -сплошная
    2 - _ _ _
    3 - ////
    4 - толстыми///
    5 - \\\\
    6 - толстыми \\\
    7 - ++++
    8 - x x x
    9- квадратами
    10 - редкими точками
    11 - частыми точками
    12 - пользовательские

  17. 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.

ВЫВОД ТЕКСТА

Специально для графического режима разработаны процедуры, обеспечивающие вывод сообщений различными шрифтами в горизонтальном и вертикальном расположении с изменением размеров и т.д.

  1. OUTTEXT(ТЕКСТ) - вывод текста, начиная с текущей позиции
  2. OUTTEXTXY(x,y,текст) - вывод текста, начиная с x,y
  3. SETTEXTSTYLE(шрифт,направление,размер) - процедура устанавливает стиль текстового вывода на графический экран, где
    шрифт: 0 - стандартный шрифт, 1 - штриховой шрифт, 2 - уменьшенный, 3 - прямой, 4 - готический;
    направление: 0 - слева - направо, 1 - снизу - вверх;
    размер: 1_32 для стандартного шрифта, 1_10 для штриховых
  4. SETUSERCHARSIZE(x1,x2,y1,y2) - позволяет изменить ширину и высоту символа для штрихового шрифта

ЧЕРЕПАШЬЯ ГРАФИКА

USES GRAPH3 - подключение "черепашьей" графики.

Черепашка расположена в центре экрана.

Процедуры и функции черепашьей графики:

  1. SHOWTURTLE - делает черепашку видимой с заштрихованным углом
  2. HIDETURTLE - делает черепашку невидимой
  3. FORWARD(n) - вперед на n шагов
  4. BACK(n) - назад на n шагов
  5. TURTLEDELAY(задержка) - задержка в миллисекундах
  6. SETHEADING(угол) - установка азимута черепашки (в градусах)
  7. SETPOSITION(x y) - перемещает черепаху в заданное место без вычерчивания линий
  8. HOME - поместить черепашку в центр экрана
  9. PENDOWN - опустить перо
  10. PENUP - поднять перо
  11. SETPENCOLOR (цвет) - выбирает цвет той линии, которая вычерчивается черепахой
  12. TURNRIGHT(угол) - поворот направо по часовой стрелке, если угол отрицательный - налево
  13. TURNLEFT(угол) - поворот налево
  14. TURTLEWINDOW(x,y,ширина,высота) - определяет графическое окно для черепашьей графики
  15. XCOR__ функции определяют положение черепахи соответственно по YCOR__ по горизонтали и вертикали

III. Практическая работа на ЭВМ.

Вызвать с диска программы №1, № 2. Запустить их на выполнение.
Задание. Нарисовать "кораблик". Творческая работа.

IV. Домашнее задание.

Выучить конспект.

Hosted by uCoz

к оглавлению     на домашнюю