
- •Лекция 4. Графические возможности Паскаля Дисплеи и дисплейные адаптеры
- •Инициализация графического режима, структура графической программы
- •InitGraph (драйвер, режим, путь к файлу драйвера)
- •Ошибки инициализации графического режима и их обработка
- •Система координат, текущий указатель
- •Установка цвета и типа линии для рисования
- •Вывод точки, линии
Лекция 4. Графические возможности Паскаля Дисплеи и дисплейные адаптеры
Аппаратная поддержка графики персонального компьютера обеспечивается монитором и видеоадаптером.
Характеристики мониторов:
Цветность (монохроматические, цветные: 16 цветов, 256 цветов и др.);
Разрешающая способность - количество точек по вертикали и горизонтали ( 320х200; 640x350; 1600x1200);
Размеры экрана по диагонали (9 дюймов - 23 см, 14 дюймов - 35.5 см. и др.);
Кадровая частота - число изменений экрана в секунду (от 25 до 100 герц и более).
Монитор может работать в двух режимах: текстовом, когда экран разбивается на 25 строк и 80 столбцов, и графическом, когда экран представляет собой матрицу точек, которые называются пикселями. Пиксель - это точка на экране, для которой можно из программы задать цвет.
Видеоадаптер (графический адаптер, видеокарта, видеоплата) - устройство, обеспечивающее взаимодействие процессора с монитором и реализующий тот или иной режим разрешимости и цветности.
Изображение, создаваемое на экране, храниться в видеопамяти. Это специально выделенная часть оперативной памяти – видеобуфер, в которой хранится образ экрана. Видеопамять адаптера разделена на несколько областей фиксированной длины, которые называются страницами. В каждый момент времени содержимое только одной страницы выведено на экран.
Для работы с графикой из программы требуется драйвер графического адаптера. Драйвер - программа, осуществляющая связь операционной системы с внешними устройствами. Драйверы, используемые в Паскале для работы с графикой, хранятся в файлах с расширением BGI.
Для формирования графических изображений в языке Turbo Pascal предназначен стандартный библиотечный модуль GRAPH. Этот модуль содержит десятки стандартных программ и типов данных, а также около 80 графических процедур и функций. Подключение этого модуля к пользовательской программе осуществляется директивой Uses graph.
С момента подключения модуля GRAPH становятся доступны все графические средства.
Инициализация графического режима, структура графической программы
Для работы с графикой в программе нужно:
Инициализировать графический режим работы дисплея
Выполнить работу с изображением
Закрыть графический режим работы дисплея (при этом происходит переход к текстовому режиму дисплея)
Для инициализации графического режима в Паскале используется процедура модуля Graph:
InitGraph (драйвер, режим, путь к файлу драйвера)
Процедура объявлена так:
initGraph (var GraphDriver : integer; var Mode : integer; Path : string);
В качестве первого и второго параметра процедуре нужно передавать переменные типа integer, которым присваиваются значения специальных констант.
Первый параметр «драйвер» должен иметь значение одной из констант графических драйверов, определенных в модуле Graph (Марченко, стр.326).
Второй параметр – значение одной из констант графических режимов, определенных в Graph (стр. та же).
Существует возможность драйвер и режим устанавливать автоматически. Для этого с использование стандартной константы Detect, которая присваивается переменной, задающей драйвер. При этом процедура initGraph автоматически инициирует нужный драйвер и установит наиболее подходящий для дисплея режим - режим с максимальным разрешением.
Третий параметр – строка, в которой по правилам MS DOS задается путь к файлу драйвера; если он расположен в активном каталоге, то вместо маршрута ставятся пустая строка (два апострофа рядом).
Закрытие графического режима происходит с помощью функции:
closegraph
У нее нет параметров. Она переводит дисплей в текстовый режим.
Итак, каркас любой графической программы может выглядеть так:
Program pr;
Uses crt,graph;
Var GraphDriver,Mode:integer;
Begin
GraphDriver:=Detect;
initGraph(GraphDriver,Mode,‘‘);
. . . {работа с изображением}
closegraph;
end;
В программе подразумевается, что выбирается графический режим с максимальным разрешением, а файл драйвера находится в активном каталоге.