Шаг 44.
Организация работы с графическими процедурами и функциями

    На этом шаге мы рассмотрим общие вопросы создания графических программ.

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

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

    Подключение производится конструкцией Uses, общий вид которой следующий:


     Uses <список модулей>;
где список модулей представляет собой перечень подключаемых модулей, разделенных запятыми.


    Замечание. Эта конструкция располагается сразу же после заголовка программы.

    По умолчанию основным режимом работы дисплея является символьно-цифровой, предназначенный для вывода на экран текстовой информации. Для того чтобы использовать графические процедуры, нужно перевести экран в графический режим. Это осуществляется процедурой (рис.1):


Рис.1. Общий вид процедуры InitGraph

    Первый параметр позволяет задать тип дисплея. Возможные значения приведены в следующей таблице:

Таблица 1. Типы мониторов
Тип монитора
Числовое значение
CGA
1
MCGA
2
EGA
3
EGA64
4
EGAMono
5
IBM8514
6
HercMono
7
ATT400
8
VGA
9
PC3270
10


    Замечание. Вместо названия типа монитора можно использовать соответствующее числовое значение.

    Изменение значения первого параметра позволяет проследить этапы развития этого устройства компьютера. Можно "заставить" дисплей работать так, как работал, например, CGA-монитор, установив на месте этого параметра значение CGA.

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

Таблица 2. Режимы работы дисплея
Константа режима работы
Значение
Разрешение экрана
CGAC0
0
320x200
CGAC
1
320x200
CGAC2
2
320x200
CGAC3
3
320x200
CGAHi
4
640x200
MCGAC0
0
320x200
MCGAC1
1
320x200
MCGAC2
2
320x200
MCGAC3
3
320x200
MCGAMed
4
640x200
MCGAHi
5
640x480
EGAMonoHi
3
640x350
HercMonoHi
0
720x348
VGALo
0
640x200
VGAMed
1
640x350
EGA64Lo
0
640x200
EGAHi
1
640x350
ATT400C0
0
320x200
ATT400C1
1
320x200
ATT400C2
2
320x200
ATT400C3
3
640x200
ATT400Med
4
640x200
ATT400Hi
5
640x400
IBM8514Lo
0
640x480
IBM8514Hi
1
1024x768
PC3270Hi
0
720x350
VGAHi
2
640x480

    Имеется возможность автоматического выбора подходящего типа дисплея. В этом случае используется константа detect, которая устанавливается в качестве значения первого параметра. Значение второго параметра в этом случае не задается.

    Третий параметр - это путь к файлам с расширением BGI, которые поддерживают работу дисплея в графическом режиме. Как правило, они находятся в одноимённой директории. В частности, на данный момент чаще свего используется файл egavga.bgi.

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

    Суммируя сказанное приведём общий вид графической программы.


Рис.2. Общий вид графической программы


    Замечания. 1. Ввод данных с использованием конструкции ReadLn осуществляется только в символьно-цифровом режиме, поэтому ввод желательно осуществлять перед переключением в графический режим. В графическом режиме использование данной конструкции приводит чаще всего к автоматическому переходу из графического в символьно-цифровой режим.
2. Конструкция Readln, находящаяся перед CloseGraph, осуществляет задержку выполнения программы. Если она отсутствует, то после выполнения графических операторов произойдет переключение в символьно-цифровой режим работы, и рисунок исчезнет, так как при переключении из одного режима работы в другой экран дисплея очищается.



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


Предыдущий шаг Содержание Следующий шаг