Графічні режими роботи дисплейних адаптерів. Типи драйверів 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Графічні режими роботи дисплейних адаптерів. Типи драйверів



План

1. Графічний режим роботи дисплейних адаптерів. Типи драйверів

2. Модуль GRAPH. Ініціалізація і завершення графічного режиму

3. Структура графічної Паскаль-програми

4. Помилки ініціалізації графічного режиму та їх обробка

5. Процедури та функції роботи з відеорежимами

6.  Побудови графічних об’єктів

 


Графічні режими роботи дисплейних адаптерів. Типи драйверів

Починаючи з версії 4.0 у склад ТР входить бібліотека графічних підпрограм (модуль GRAPH).,яке забезпечує керування режимами різних адаптерів дисплеїв; вона містить 80 графічних процедур та функцій а також стандартних констант і описів типів даних.Стандартний стан ПК після його вимикання, а також до запуску Паскаль-програм відповідає роботі режиму у текстовому режимі. Для виконання графічних засобів потрібно ініціалізувати графічний режим режим роботи дисплейного адаптера. Настройка графічних процедур на роботу з графічним адаптером досягається шляхом підключення відповідного графічного драйвера. Таким чином графічний драйвер керує графічним адаптером в графічному режимі роботи.

 

 

Основні характеристики моніторів та адаптерів:

- розмір екрану по діагоналі (9, 14, 15, 17, 20, 21 дюйм);

- розмір мінімального елементу зображення (0,25..,28 мм). Для кольорових – моніторна група – 3 зерна;

- роздільна здібність – це кількість точок (пікселів) по горизонталі та вертикалі;

- об’єм відеопам’яті (16 Кб – 1 Мб).

Графічні можливості адаптерів визначаються загальною кількістю пікселів (роздільна здібність) та кількістю кольорів (відтінків) кожного пікселя.

Крім того деякі графічні адаптери мають можливість працювати з декількома графічними сторінками – це область ОЗП, яка використовується для створення "карти" екрана (тобто інформація про світимість кожного пікселя).

Графічні драйвери

Представляють собою файли з розширенням. BGI, які забезпечують взаємодію програм з графічними пристроями і містяться в окремому каталозі (BGI). { * BGI – Borland Graphics Interface – графічний шнтерфейс фірми Borland }. В процесі ініціалізації визначеного графічного режиму вмикається відповідний драйвер.

В таблиці 1 приведені приклади графічних адаптерів та драйверів:

 

Таблиця 1

Драйвер Апаратне забезпечення
CGA.BGI Адаптери CGA, MCGA
EGAVGA.BGI Адаптери EGA, VGA
HERC.BGI Адаптер Hercules
ATT.BGI AT&T 6300 (400 рядків)
PC3270.BGI IBM 3270 PC
IBM8514.BGI IBM 8514

 

В комплект поставки ТР входить обмежена кількість драйверів, який може підтримувати один, або декілька відеорежимів. Тип драйвера і режим можна задавати у вигляді числа або у вигляді символьної константи. Ці константи визначені у модулі GRAPH:

 

Таблиця 2

Detect = 0 {автовизначення}
CGA = 1; EGAMONO = 5;
MCGA = 2; IBM8514 = 6;
EGA = 3; HercMONO = 7;
EGA64 = 4; ATT 400 = 8; VGA = 9; PC3270 = 10.

 

Указані в таблиці 2 константи типів драйверів та режими використовують як параметри процедур керування графічними режимами.


Модуль GRAPH. Ініціалізація і завершення графічного режиму

 

Як відмічено на початку лекції, для створення графічних зображень в мові ТР призначений спеціальний стандартний бібліотечний модуль GRAPH, який підключається стандартним способом: USES GRAPH;

Модуль GRAPH представляє собою окремий файл GRAPH. TPU і містить набір процедур і функцій.

1) Процедура ініціалізації графічного режиму:

InitGraph (var Driver, Mode: integer; path: string);

Змінні Driver i Mode задають драйвер і режим роботи адаптера, path – визначає ім’я файлу драйвера і можливий шлях до файлу.

Перші дві змінні задаються константами таблиці 2, іменем або числовим значенням.

Приклад 1:

Нехай драйвер EGAVGA. BGI знаходиться в каталозі TP \ BGI диска С і встановлює режим VGAHI (640*480, 16 кольорів). Фрагмент використання процедури в програмі:

Begin

Driver:= VGA;

Mode:= VGAHI;

InitGraph (Driver, Mode, ‘C:\TP\BGI’);

End.

 


Якщо тип адаптера не відомий, або якщо програма розрахована на роботу з будь-яким адаптером, використовується звертання до процедури з параметром автоматичного визначення типу драйверу.

Приклад 1а:

 

Driver:= Detect;

InitGraph (Driver, Mode, ‘C:\TP\BGI’);

Такий параметр рекомендують використовувати при роботі на різних комп’ютерах з різними відеоадаптерами.

Особливості автовизначення типу драйвера:

а) для адаптера вибирається максимальний режим;

б) на час виконання програми всі драйвери знаходяться у пам’яті, або на диску; для великих програм це може привести до зменшення швидкості роботи програми;

в) ТР автоматично не розпізнає адаптери IBM 8514 i ATT 400; їх необхідно вказувати в процедурі.

2) Процедура завершення графічного режиму: CLOSEGRAPH;

Процедура без параметрів. В процесі її виконання звільняється пам’ять (від драйверів, файлів, шрифтів, проміжних даних), відновлюється текстовий режим роботи екрану.

Наступний перехід до графічного режиму виконується тільки шляхом повторної ініціалізації.

 


Побудови графічних об’єктів

Побудова геометричних фігур

Для побудови зображення у графічному режимі використовують систему координат, яка відрізняється від текстового режиму (екран представляється у вигляді прямокутного масиву символів і координати Х, У починаються з 1 … max значення).

Відлік координат починається з верхнього лівого кута екрана з координатами (0, 0). При цьому екран представляється у вигляді прямокутного масиву адресуємих точок (пікселів). Для різних типів адаптерів та режимів кількість точок по вертикалі та горизонталі суттєво відрізняється.

Для визначення максимальних значень координат екрану, в модулі GRAPH використовують функції:

 

GetMax X: integer;

GetMax Y: integer.

 

Особливості: якщо при адресації точок вказуються значення координат, які перевищують максимальні, то операція ігнорується.

Побудова графічного зображення починається з позначення початкової позиції. У текстовому режимі цю позицію позначає курсор, який розміщується за останнім символом і вказує на місце наступного символу. В графічних режимах відображаємого на екрані курсору не має, але є скритий поточний показчик СР (current pointer), який виконує аналогічні функції курсору текстового режиму.

В графічному режимі для переміщення СР використовують процедури:

1) Move To (x, y: integer) – переміщує поточний показчик СР в точку з координатами x, y;

2) Move Rel (dx, dy: integer) – переміщує СР на dx точок по горизонталі і на dy точок по вертикалі відносно останнього положення поточного показчика. Якщо dx, dy більше 0, то координати СР збільшуються; якщо менше 0 - зменшуються.

Для визначення поточного розташування графічного курсору СР використовують функції:

 

GET X: integer;

GET Y: integer;

 

які повертають значення поточних координат показчика.

Приклад 1: позиціонування графічного курсору та визначення його координат:

 

Uses GRAPH;

Var Driver, Mode: integer;

Begin

Driver:= Detect;

InitGraph (Drive, Mode, ‘’);

If GraphResult <> 0 then

Begin

WriteLn (‘ошибка’);

Halt (1);

End;

Move To (GetMax X div 2, GetMax Y div);

OutTextXY (GET X, GET Y, ‘курсор по центру’);

MoveRel (-GET X div 2, -GET Y div 2);

OutTextXY (‘курсор переміщений’);

ReadLn;

CloseGraph;

End.

 

Установка кольору та стилю

1) процедура Set Color (Color: word); встановлює поточний колір для ліній та символів. Параметр Color позначає номер кольору від 0 до 15:

 

Таблиця 1

Black = 0 Light Gray = 7
Blue = 1 Darc Gray = 8
Green 2  Light Blue = 9
Cyan =3 Light Green = 10
Red = 4 Light Cyan = 11
Magente = 5 Light Red = 12
Brown = 6 Light Magente = 13 Yellow = 14 White = 15 Blink = 128

2)процедура SetBKColor (Color: word); встановлює колір фону, який визначається параметром Color.

3) процедура SetFillStyle (Fill, Color: word); встановлює стиль (тип і колір) заповнення фрагментів зображення.

Геометричні побудови.

1) Відображення точки:

В модулі Graph для відображення точки використовують процедуру:

PutPixel (x, y: integer);

x, y – координата точки;

Color – її колір (значення беруть зі встановленої палітри).

2) Відображення ліній:

а)Процедура:

Line (x1, y1, x2, y2: integer);

x1, y1, x2, y2 - координати початкової і кінцевої точок лінії. Лінія креслиться поточним стилем і поточним кольором.

б) процедура: LineTo (x, y: integer); будує лінію від точки поточного розміщення показчика до точки зкоординатами (x,y).

в) процедура: LineRel (dx, dy: integer); проводить відрізок від точки поточного розміщення на величину заданого приросту.

г) процедура: SetLineStyle (Type, Pattern, Thich: word); встановлює стиль відображення ліній, де параметри – це відповідно тип, шаблон і товщина лінії. Тип лінії задається константою з таблиці 3:

 

Таблиця 3

Const Значення Характеристика
SolidLn 0 Безперервна
PottedLn 1 Пунктирна
CenterLn 2 Штрих-пунктирна
DashedLn 3 Штрихова
UserBitLn 4 Задана

 

Параметр Pattern тільки для ліній типу UserBitLn і може приймати значення від 1..65536, тобто 2 байта кожен біт (із 16 біт слова) може приймати значення 0 або 1 (піксель не світиться або світиться).

Таким чином параметр Pattern задає відрізок ліній, довжиною 16 пікселів.

Цей шаблон періодично повторюється по всій довжині ліній.

Параметр Thich приймає 2 значення:


Norm Width = 1

Thick WidTh = 3

 

Будова многокутників.

Многокутники можна зображати декількома способами: наприклад, за допомогою процедур Line, LineTo.

Паскаль також містить процедури, які дозволяють будь-які многокутники.

1) процедура DrowPoly (n: word; var points); створює многокутник за допомогою ліній поточного кольору, стиля і товщини. Параметр n – кількість точок ламаної; points – змінна типу PointType, яка містить координати x, y точок ламаної.

В модулі GRAPH передбачений такий тип:

Type

PoinType = RECORD

x, y: integer;

end;

2) процедура FillPoly (n: word; var points); схожа з попередньою, але навідміну від неї – малює замкнутий многокутник і зафарбовує його. Стиль і колір лінії і контура задається процедурами SetLineStyle i SetColor, тип і колір заповнення – процедурою SetFillStyle.

3) Процедура FloodFill (x, y: integer; Border: word); служить для заповнення заданим стилем (SetFillStyle) області в середині або зовні замкненого контуру. Параметри: x, y – координати точки в середині або зовні контура; Border – задає колір контуру. Якщо контур незамкнений то буде заповнення всього екрану заданим стилем.

План

1. Графічний режим роботи дисплейних адаптерів. Типи драйверів

2. Модуль GRAPH. Ініціалізація і завершення графічного режиму

3. Структура графічної Паскаль-програми

4. Помилки ініціалізації графічного режиму та їх обробка

5. Процедури та функції роботи з відеорежимами

6.  Побудови графічних об’єктів

 


Графічні режими роботи дисплейних адаптерів. Типи драйверів

Починаючи з версії 4.0 у склад ТР входить бібліотека графічних підпрограм (модуль GRAPH).,яке забезпечує керування режимами різних адаптерів дисплеїв; вона містить 80 графічних процедур та функцій а також стандартних констант і описів типів даних.Стандартний стан ПК після його вимикання, а також до запуску Паскаль-програм відповідає роботі режиму у текстовому режимі. Для виконання графічних засобів потрібно ініціалізувати графічний режим режим роботи дисплейного адаптера. Настройка графічних процедур на роботу з графічним адаптером досягається шляхом підключення відповідного графічного драйвера. Таким чином графічний драйвер керує графічним адаптером в графічному режимі роботи.

 

 

Основні характеристики моніторів та адаптерів:

- розмір екрану по діагоналі (9, 14, 15, 17, 20, 21 дюйм);

- розмір мінімального елементу зображення (0,25..,28 мм). Для кольорових – моніторна група – 3 зерна;

- роздільна здібність – це кількість точок (пікселів) по горизонталі та вертикалі;

- об’єм відеопам’яті (16 Кб – 1 Мб).

Графічні можливості адаптерів визначаються загальною кількістю пікселів (роздільна здібність) та кількістю кольорів (відтінків) кожного пікселя.

Крім того деякі графічні адаптери мають можливість працювати з декількома графічними сторінками – це область ОЗП, яка використовується для створення "карти" екрана (тобто інформація про світимість кожного пікселя).

Графічні драйвери

Представляють собою файли з розширенням. BGI, які забезпечують взаємодію програм з графічними пристроями і містяться в окремому каталозі (BGI). { * BGI – Borland Graphics Interface – графічний шнтерфейс фірми Borland }. В процесі ініціалізації визначеного графічного режиму вмикається відповідний драйвер.

В таблиці 1 приведені приклади графічних адаптерів та драйверів:

 

Таблиця 1

Драйвер Апаратне забезпечення
CGA.BGI Адаптери CGA, MCGA
EGAVGA.BGI Адаптери EGA, VGA
HERC.BGI Адаптер Hercules
ATT.BGI AT&T 6300 (400 рядків)
PC3270.BGI IBM 3270 PC
IBM8514.BGI IBM 8514

 

В комплект поставки ТР входить обмежена кількість драйверів, який може підтримувати один, або декілька відеорежимів. Тип драйвера і режим можна задавати у вигляді числа або у вигляді символьної константи. Ці константи визначені у модулі GRAPH:

 

Таблиця 2

Detect = 0 {автовизначення}
CGA = 1; EGAMONO = 5;
MCGA = 2; IBM8514 = 6;
EGA = 3; HercMONO = 7;
EGA64 = 4; ATT 400 = 8; VGA = 9; PC3270 = 10.

 

Указані в таблиці 2 константи типів драйверів та режими використовують як параметри процедур керування графічними режимами.



Поделиться:


Последнее изменение этой страницы: 2020-03-26; просмотров: 122; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.222.240.21 (0.049 с.)