Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник по Pascal с задачами NEWXP.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
461.82 Кб
Скачать

§ 20 Графика в паскаЛе

Аппаратная поддержка.

Монитор - пассивная роль.

Адаптер - формирует изображение.

Изучая графику, изучаем возможности этих двух вещей. Адаптера в большей степени.

Экран в виде точек. Их может быть разное число.

Координатная сетка

( 0э,0э) Хэ(639э,0э)

Уэ (0э,479э) VGAHI

или (0э,349э) VGAMED

или (0э,199э) VGALO

Адаптер может быть охарактеризован:

  • количеством точек по Х;

  • количеством точек по У;

  • количеством цветов, которое может принимать каждая точка.

Такое состояние называется режимом работы.

Мощность адаптера определяется:

  • количеством возможных режимов его работы;

  • качеством максимального режима.

Типы адаптеров (см Фигурнова)

CGA

EGA

VGA лучший из наиболее распространенных поддерживает и CGA и EGA.

Режимы работы VGA

а) текстовый 80*25*16 (столбцы * строки * цвета )

б) текстовый 80*40*16

в) графический 640*480*16, называется VGAHI. Точка здесь почти квадратик.

г) графический 640*350*16, называется VGAMED. Точка здесь чуть вытянута по вертикали.

д) графический 640*200*16, называется VGALO. Точка здесь вытянута по вертикали еще больше.

Точка экрана в графическом режиме называется pixel.

Реализация возможностей адаптера в Pascal

Для работы с графикой необходимо:

1. на диске обязательно иметь файл EGAVGA.BGI (это программа управления адаптером). Лучше записать его в текущий каталог;

2. в самом начале записать USES GRAPH;

3. описать две переменные, одной из которых в исполняемой части программы будет присваиваться значение типа адаптера, а другой - тип режима его:

VAR

ADAPTER:INTEGER;

MODE:INTEGER;

4. в исполняемой части программы присвоить переменным ADAPTER и MODE значение типа адаптера и типа его режима соответственно.

Напомним типы адаптеров: CGA EGA VGA

и типы режимов: VGAHI VGAMED VGALO

Например,

ADAPTER:=VGA;

MODE:=VGAHI;

5. подключить адаптер командой

initgraph(тип адаптера, тип режима, 'каталог, где лежит EGAVGA.BGI')

т.е. запись будет выглядеть так:

initgraph(adapter,mode,'');

В этой записи не указан каталог, где находится EGAVGA.BGI, это можно не делать, если он лежит в текущем каталоге.

Задания к § 20

  1. Нарисовать картинку и раскрасить ее.

И так, подключкние графики будет выглядеть так:

Uses Graph;

VAR

Adapter, Mode : integer;

BEGIN

Adapter:=VGA;

Mode:=VGAHI;

Initgraph(Adapter,Mode,’C:\ProgSys\BP\BGI’);

.....................

.....................

.....................

End.

Процедуры модуля GRAPH:

SetBkColor(цвет); -установка цвета фона:

СlearDevice; очистка экрана

Putpixel(X,Y,цвет); - рисование точки

SetColor(цвет);- установка цвета для ниже перечисленных процедур

Line(X1,Y1,X2,Y2); -рисование линии

Rectangle(X1,Y1,X2,Y2) -рисование незакрашенного прямоугольника по координатам верхнего левого и нижнего правого углов, используя текущий тип и цвет линий

Сircle(X,Y,R);-рисование окружности

Arc(X,Y,нач_угол, кон_угол,R);рисование дуги окружности

SetFillStyle(тип заливки,цвет);-установка типа и цвета заполнения для процедур, записанных ниже

тип - число от 1 до 12

Bar(X1,Y1,X2,Y2);-рисование закрашенного прямоугольника по координатам верхнего левого и нижнего правого угла

FloodFill(X,Y,цвет);- заливка замкнутого контура. Х и У точка, начиная с которой идет заливка, цвет - цвет границы до которой заливать

OutTextХУ(Х,У,’Text’); -вывод текста

СloseGraph; -конец работы с графикой