- •Графический режим
- •Процедура инициализации графического режима InitGraph
- •InitGraph (var GraphDriver : Integer; {тип адаптера}
- •Var GraphMode : Integer; {режим графики}
- •Процедура закрытия графического режима CloseGraph
- •Обработка ошибок инициализации
- •Процедура DetectGraph
- •Очистка экрана
- •Координаты устройства и мировые координаты
- •Управление «текущим указателем»
- •Рисование графических примитивов и фигур Линии и их стили
- •Окружности, эллипсы и дуги
- •Построение прямоугольников и ломаных
- •Заливка областей изображения
- •Опрос и установка цветов пера и фона
- •Вывод текста
Графический режим
Модуль Graphпредставляет собой библиотеку подпрограмм, обеспечивающих полное управление графическими режимами различных адаптеров дисплеев:CGA,EGA,VGAи других. Библиотека содержит более 50 графических процедур и функций, как базовых (рисование точек, линий, окружностей и т.д.), так и расширяющих возможности базовых (многоугольники, заполнение фигур, вывод текста и др.).
Файл BGI– это графический интерфейс (BorlandGraphicInterface) фирмыBorland. Он обеспечивает взаимодействие программ с графическими устройствами. Перед работой программ в графических режимах дисплея процедураInitGraphопределяет тип адаптера, представленного в ПЭВМ, и загружает в память соответствующийBGI-драйвер, в котором определены режимы работы. ПроцедураCloseGraphвыгружает графический драйвер из памяти и восстанавливает текстовый режим работы видеоадаптера.
Процедура инициализации графического режима InitGraph
Программа, использующая графику, обязательно должна содержать блок вызовов процедур инициализации графического режима и обращение к процедуре его закрытия. Такой блок инициализирует графический режим, проверяет правильность переключения и, если все операции прошли успешно, допускает дальнейшую работу программы. Процедура инициализации объявлена следующим образом:
InitGraph (var GraphDriver : Integer; {тип адаптера}
Var GraphMode : Integer; {режим графики}
DriverPath : String); {путь к драйверу}
В модуле Graphопределены константы для задания вида графического адаптера параметромGraphDriver. Если параметруGraphDriverприсвоить значение константыDetect, то система включится в режим автоопределения. Если возможно переключение системы в графический режим, то инициализируется соответствующийBGI-драйвер и включается режим с максимальным разрешением. В параметрахGraphDriver иGraphMode при этом будут возвращены автоматически выбранные значения или код ошибки.
Если параметр GraphDriverсодержит номер конкретного адаптера, то и второй параметрGraphMode должен иметь номер режима, допустимого при этом адаптере.
Все остальные графические установки (положение текущего указателя, палитра, цвет, параметры графического окна и т.д.) при инициализации принимаются по умолчанию.
Параметр DriverPathуказывает путь в каталог, содержащий файлы с необходимыми драйверами. Если в него передается значение «пустая строка», то драйверы должны находиться в текущем каталоге.
Процедура закрытия графического режима CloseGraph
Для окончательного завершения работы в графическом режиме необходимо всегда производить вызов процедуры CloseGraph. Эта процедура не имеет параметров. Она очищает экран, переводит адаптер в текстовый режим и, если возможно, выгружает из памяти всеBGI-драйверы и штриховые шрифты. Последующий возврат в графический режим возможен только через повторную инициализацию.
Обработка ошибок инициализации
П
Значение Объяснение -2 Нет
графического адаптера -3 Не найден
файл драйвера -4 Ошибки в
драйвере (в его коде) -5 Не хватает
памяти для загрузки драйвера -10 Невозможный
режим для выбранного драйвера -15 Нет такого
драйвера
Если же ошибок при инициализации не обнаружено, то в параметре GraphDriverвозвращается номер адаптера.
Еще есть один способ проверки результата проведения графической операции. Он осуществляется с помощью функции GraphResult : Integer,которая возвращает код результата последнего вызоваInitGraph.