Практика программирования (Бейсик, Си, Паскаль)

       

Инициализация графического режима


Переход в графический режим очень напоминает подготовку к работе с файлами. В жаргоне программистов бытует термин "открыть графику", и это надо сделать прежде, чем вы обратитесь к любой графической процедуре. Что реально скрывается за этим действием, знать не обязательно.

В QBasic графический режим работы монитора устанавливается после выполнения оператора SCREEN, содержащего от одного до четырех параметров:

SCREEN n [, [cs] [,ap] [,vp]]

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

n= 9 (640x350 точек, 16 цветов из 64 возможных)

n=12 (640x480 точек, 16 цветов из 64 возможных)

n=13 (320x200 точек, 256 цветов из 256К возможных)

Параметр cs в приведенных режимах смысла не имеет. Два последних параметра задают номера активной (ар = о или ар = i) и видимой (vp = 0 или vp = i) страниц в режиме n = 9.

Возврат в текстовый режим осуществляется по оператору SCREEN 0.

Программы на Си или Паскале, использующие графический вывод, должны подключить соответствующие системные средства:

ТС: #include <graphics.h>

ТР: uses Graph;

В среде BGI графика "открывается" обращением к процедуре initgraph:

ТС : initgraph(&gd,&gm, "path");

ТР : InitGraph(gd,gm,'path');

Первые два параметра представлены именами целочисленных (int, integer) переменных, в которых графическая система запоминает условные номера графического драйвера (gd) и графического режима (gm). Программист больше этими переменными не пользуется, но и не должен затирать их значения. 0бычно в переменную gd перед обращением к initgraph заносят нулевое значение (gd = о или gd = DETECT), что заставляет графическую систему определить тип видеосистемы и выбрать подходящий режим ее работы без. участия программиста. Как правило, будет установлен режим с названием VGAHI, соответствующий разрешению 640x480 с 16 цветами из 64 возможных.

Третий параметр задает путь к каталогу, в котором находится драйвер видеосистемы — программа, реализующая связь библиотечных процедур с видеокартой. В 99% случаев такой программой является файл egavga.bgi, который программисты копируют в свой текущий каталог или прокладывают к нему дорожку с помощью команды PATH в файле autoexec.bat. В любой из этих двух ситуаций третий параметр может быть задан пустой строкой. Но если графическая система не обнаружит нужный драйвер в доступных каталогах, то работа программы будет прекращена из-за того, что "открытие" графики не состоялось.

Возврат в текстовый режим обычно происходит при обращении к

closegraph:

ТС: closegraph();

ТР: CloseGraph;

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



Содержание раздела