Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
А4 Математики 2 курс 3 семестр.doc
Скачиваний:
10
Добавлен:
19.11.2019
Размер:
1.19 Mб
Скачать

Драйвери

Графічні драйвери підтримують роботу наступних графічних адаптерів: Cga, Mcga, Ega, Vga, Ibm 8514 та деякі інші. Кожен драйвер вміщує код та дані, що зберігаються в окремому файлі.

Під час виконання програми процедура InitGraph визначає графічний пристрій, завантажує та ініціює відповідний графічний драйвер, переводить систему до графічного режиму і повертає управління програмі, що зробила виклик. Процедура CloseGraph звільняє пам’ять від драйверу і відновляє попередній відеорежим. Можна переводити систему у графічний чи текстовий режими, використовуючи RestoreCrtMode і SetGraphMode. Для того, щоб завантажити Ваш власний драйвер або включити його в .exe-файл, див. RegisterBgiDriver.

Файли драйверів:

Cga.Bgi

Egavga.Bgi

Ibm8514.Bgi

Драйвер для Cga, Mcga

Драйвер для Ega, Vga

Драйвер для Ibm 8514

Система координат на екрані

Верхній лівий кут графічного екрану визначений як (0,0). Значення Х {колонка} збільшується направо. Значення Y {рядок} збільшується вниз. В режимі 640x480 адаптеру Vga або SVga екранні координати кожного з чотирьох кутів будуть представлені так:

(0, 0) (639, 0)

(0, 479) (639, 479)

Перетічний вказівник

Багато графічних систем підтримують поняття перетічного вказівника (Cp -Current Pointer ). Cp подібний до курсора в текстовому режимі, але у відміну від нього Cp не видно. У прикладі:

MoveTo (0, 0);

LineTo (20, 20);

команда MoveTo використовується тільки для переміщення Cp. оператор LineTo помістить Cp у точку (20, 20), виводячи при цьому пряму лінію.

Наступні команди переміщують перетічний вказівник: MoveTo, MoveRel, LineTo, LineRel, OutText, InitGraph, SetGraphMode, GraphDefaults, ClearDevice, SetViewPort, ClearViewPort, причому останні 6 команд переміщують Cp у точку ( 0, 0 ).

Текст

Для виводу тексту в графічному режимі визначені побітовий шрифт і декілька штрихових шрифтів. Символ побітового шрифту визначений матрицею 8х8 пікселів. Штриховий шрифт визначений серією відрізків, які підказують графічній системі як малювати символи. Оскільки штриховий шрифт визначений відрізками, його якість не змінюється при збільшенні.

Коли побiтовий шрифт збільшується, матриця множиться на коефіцієнт масштабування. При великім коефіцієнті масштабування зображення символів стає грубим. Для невеликих символів побiтовий шрифт буде ефективний, в іншому разі знадобиться штриховий шрифт.

Вирівнювання графічного тексту керується процедурою SetTextJustify. Масштабування і вибір шрифту виконується процедурою SetTextStyle. Текстове повідомлення виводиться викликом процедур OutText та OutTextXY. Запит поточних параметрів тексту виконується процедурою GetTextSettings. Розмір штрихового шрифту може бути визначений (змінений) процедурою SetUserCharSize.

Кожний штриховий шрифт зберігається в окремому файлі типу .Chr. Файли шрифтів можуть бути завантажені з диску автоматично модулем Graph під час виконання програми, або включені в програму користувача.

Програма BinObj.exe забезпечує перетворення файлу шрифтів у файл .obj, що може бути включений в модуль чи програму. Це дозволяє мати файли шрифтів, умонтовані в .exe файл.