Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции 17.19.doc
Скачиваний:
2
Добавлен:
11.07.2019
Размер:
85.5 Кб
Скачать

7. Стандартный модуль graph.

Модуль GRAPH - библиотека подпрограмм работы с графическим режимом экрана. В графическом режиме экран рассматривается как совокупность точек (пикселей), яркостью и цветом которых можно управлять, получая то или иное графическое изображение. В модуле GRAPH имеются около 80 подпрограмм управления графическим экраном, обеспечивающие многие потребности графических программ. У нас нет возможности детально останавливаться на этих подпрограммах, поэтому ограничимся общей характеристикой средств данного модуля и простым примером графической программы, использующей модуль GRAPH.

Графический экран состоит из точек-пикселей, образующих растр. Для адресации пикселя используется координатная сетка, ведущая свой отсчёт от верхнего левого угла, имеющего координаты (0,0), и увеличивающая значения координат слева направо и сверху вниз. Для установки графического режима предусмотрена процедура InitGraph, а для возврата в текстовый режим - CloseGraph. На экране можно создавать графические окна (процедурой SetViewPort), ограничивающие графический вывод границами окна.

Значительная группа подпрограмм обеспечивает рисование элементарных графических фигур (точек, прямых линий, окружностей, эллипсов и их дуг, прямоугольников, многоугольников), установку цветов и яркости, а также закрашивание замкнутых фигур различными цветами и стилями закраски или оформления линий.

Имеются средства вывода текста на графический экран с помощью специально предусмотренных шрифтов (матричных и штриховых). Для использования штриховых шрифтов необходимы соответствующие шрифтовые файлы (с расширением chr).

Имеются также средства для хранения и вывода изображений, работы с несколькими графическими страницами.

Для иллюстрации работы с модулем GRAPH приведем небольшую программу формирования и вывода на графический экран изображения Российского флага:

program russian_flag;

{Формирование изображения Российского флага на графическом экране}

uses Graph,CRT;

var path:string;driver,mode,r,j,i:integer;c:word;

begin {начальная установка графического режима}

clrscr;driver:=detect;mode:=VGAHi;InitGraph(driver,mode,'');

{полукруг на голубом фоне}

setbkcolor(cyan);r:=99;arc(319,239,0,180,r);

{рисование флагштока}

moveto(319-r,239);lineto(319+r,239);delay(1000);

{наполнение цветом полукруга и флагштока}

setfillstyle(solidfill,green);floodfill(300,200,white);

{рисование трехцветного флага}

moveto(319,239-r);lineto(319,5);c:=white;

for j:=1 to 3 do begin setfillstyle(solidfill,c);

bar(319,5+(j-1)*33,319+2*r,5+j*33);

c:=(c+3) mod 17;delay(1000)

end;readln

end { russian_flag}.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]