; .bgi-EGA, VGA; l4.bgi-IBM8514; .bgi-Hercules (монохромний адаптер) і т.д. Кожному типу драйвера в модулі Graph відповідає своя константа, наприклад:=O; (потрібно автоматичне визначення)=1;=3;=9.
Використовуваний драйвер може функціонувати в різних режимах. Для вибору конкретного режиму драйвера в модулі Graph міститься список констант.
Таблиця 1.3.1. Список констант
ІмяЗначеніеНазначеніеDetect0Автоматіческій вибір драйвераCGA1MCGA2EGA3EGA644EGAMono5IBM85146HercMono7ATT4008VGA9PC327010CurrentDriver - 128Текущій драйвер
При роботі в графічному режимі використовується велика кількість процедур і функцій, про формат і призначення яких можна дізнатися з довідкової системи Pascal наступним чином:
Heip? Contens? Units? Graph? Go to GRAPH.TPUand Procedures.
1.4 Ініціалізація графічного режиму
Всі об'єкти, які входять в модуль Graph, можна використовувати тільки після завдання ініціалізації графічного режиму. Ініціалізація графічного режиму виконується процедурою InitGraph: ((драйвер): integer; lt; режим gt;: integer; lt; шлях до файлу gt ;: string);.
Для ініціалізації графічного режиму з автоматичним розпізнаванням драйвера і режиму досить привласнити змінній, що відповідає за драйвер, константу Detect або 0, присвоювати якесь значення змінної режиму в цьому випадку не потрібно. Третій параметр вказує шлях до файлу (наприклад, EGAVGA) з расшіреніем.bgi. Якщо цей файл знаходиться в поточному каталозі, то шлях може бути порожнім (»). Помилки, які можуть виникнути при ініціалізації графічного режиму, аналізують за допомогою функції GraphResult. Ця функція генерує відповідний код помилки. Код помилки дорівнює нулю, якщо ініціалізація пройшла успішно.
Для виходу з графічного режиму використовується стандартна процедура без параметрів CloseGraph. Вона відновлює режим, що існував до ініціалізації графіки.
При частій роботі з графікою процес ініціалізації зручно оформити окремою процедурою.
2. Процедури і функції
.1 Управління екраном і вікнами
У графічному режимі підтримується концепція вікон. Вікно являє собою прямокутну область екрану зі своєю відносною системою координат. За замовчуванням вікно займає весь екран, значення координат його лівого верхнього і правого нижнього кутів встановлюються автоматично процедурою ініціалізації (наприклад, (0,0) і (640,480)).
Щоб стерти всі зображення на екрані, тобто очистити його, використовується процедура без параметрів СlеarDevice або процедура GraphDefauits, яка не тільки очищає екран, а і виконує всі стартові установки графічних параметрів.
Процедура SetViewPort (X1, Y1, X2, Y2: integer; Clip: boolean); служить для організації вікон. Тут XI, Y1 - координати лівого верхнього кута, X2, Y2 - координати правого нижнього кута. Параметр Clip визначає, чи будуть фрагменти зображення відсікатися при попаданні за межі вікна (Clip=True або Clip=ClipOn) чи ні (Clip=False або Сliр=СlipOff). Після створення вікна початком координат стане верхній лівий кут вікна, який матиме координати (0,0).
Процедура CiearViewPort використовується для очищення вікна. Поточне вікно при цьому заповнюється фоновим кольором, а поточний покажчик встановлюється в точку з координатами (0,0). Слід пам'ятати що це координати у внутрішній системі координат, пов'язаної з даними вікном, а не в системі координат повного екрану. Перейти до системи координат повного екрану можна за допомогою процедури ClearDevice або задавши в процедурі установки вікна максимально можливі значення: SetViewPort (0,0, GetMaxX, GetMaxY, True).
2.2 Управління кольором і фоном
Під час ініціалізації графічного режиму встановлюється палітра кольорів. Палітрою називається максимальний набір кольорів, підтримуваних BGI-драйвером. Вона включає 16 кольорів, пронумерованих від 0 до 15, які використовуються за замовчуванням в режимах 640x480 для VGA (і для EGA) як у текстовому, так і в графічному режимі. Назви квітів на англійській і російській мовах та їх номери описані в таблиці.
Таблиця 2.2.1. Назви квітів і їх номери
Ім'я цветаНомер цветаНазваніе цветаBlack0ЧерныйBlue1СинийОreeon2ЗеленыйCyan3ГолубойRed4КрасныйMagenta5ФиолетовыйBrown6КоричневыйLightGray7Светло-серыйDarkGray8Темно-серыйLighiBlue9Светло-синийLightGreen10Светло-зеленыйLightCyan11Светло-голубойLightRed12Светло-красныйLightMagenla13Светло-фиолетовыйWhite14БелыйYellow15Желтый
Для установки кольору ...