Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364150
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62792)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21320)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21697)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8694)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3463)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20645)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Відображення на екрані дисплея графічної інформації

Название: Відображення на екрані дисплея графічної інформації
Раздел: Рефераты по информатике, программированию
Тип: реферат Добавлен 02:08:44 19 ноября 2010 Похожие работы
Просмотров: 109 Комментариев: 2 Оценило: 0 человек Средний балл: 0 Оценка: неизвестно     Скачать

Житомирський Військовий Інститут

Національного Авіаційного Уніврситету

Реферат на тему:

Відображення на екрані дисплея графічної інформації

Житомир 2010

План

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

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

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

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

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

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

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

Починаючи з версії 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 константи типів драйверів та режими використовують як параметри процедур керування графічними режимами.

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 ;

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

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


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

Приклад 2:

Program GraphicDemo;

Uses Graph;

Var Driver, Mode : integer;

Begin

Driver := Detect;

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

{графічні дії}

…..

CloseGraph ;

End.

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

При виконанні програми можуть виникати помилки. Тому в модуліGRAPH реалізований механізм визначення помилок та видачі повідомлень про них на екран за допомогою функції GraphResult i GraphErrorMsg .

Функція GraphResult : integer ; повертає 0, якщо остання графічна операція виконалась без помилок, або число від –14..-1, при наявності помилок.

Функція GraphErrorMsg ( Code : integer) : string; повертає значення типу STRING в якому відповідно коду помилки надається текстову повідомлення. CODE – код помилки, який повертається функцією GraphResult .

Приклад 3:

Var

Driver, Mode, Error : string;

Begin

Driver := Detect;

InitGraph (Driver, Mode, ‘’);

Error := GraphResult;

If Error <> 0 then

WriteLn (GraphErrorMsg (Error));

……………. {повідомлення помилки}

CloseGraph;

End.

5. Група процедур та функцій управління режимами роботи графічного адаптера

1) процедура DetectGraph виконується для тестування графічного адаптера:

DetectGraph (var Driver, Mode : integer);

Ця процедура може бути викликана до ініціалізації графічного режиму. Параметри:

Driver – повертає тип драйвера;

Mode - повертає максимальне значення відповідного режиму.

Ці значення і рекомендується підставляти як фактичні параметри процедури InitGraph .

2) група процедур та функцій управління режимами роботи графічного адаптера:

а) функція GetGraphMode : integer повертає код установленого режиму роботи графічного адаптера.

б) функція GetMaxMod : integer ; повертає максимальний номер коду режиму графічного адаптеру;

в) функція GetModName ( ModNum : integer) : string; повертає значення типу STRING , яке містить ім’я режиму роботи за його номером;

г) функція GetDriveName : string; повертає ім’я поточного графічного драйвера;

д) процедура GetModeRange ( Driver : integer; var LoMode, HyMode : integer); повертає діапазон можливих режимів роботи заданого графічного драйвера:

Driver – тип адаптера;

LoMode – мінімальне значення коду режиму адаптера;

HiMode - мінімальне значення коду режиму адаптера.

!Особливість!:

- якщо значення Drive задано невірно, то змінні отримують значення –1;

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

3) процедур установки текстового та графічного режимів:

а) RestorCRTMode ; повертає до текстового режиму.

!Особливість!: навідміну від CloseGraph графічний драйвер залишається у пам’яті, а також залишаються установленими графічного режиму.

б) процедура SetGraphMode ( Mode : integer); установлює графічний режим за вказаним кодом – Mode .

!Осбливість!: для повернення до попереднього графічного режиму на місце параметра мінімальне значення коду режиму адаптераMode можна вставити функцію GetGraphMode .

Розглянемо приклади використання процедур роботи з відеорежимами.

Приклад 4:

Перехід з графічного режиму до текстового і знову до графічного.

Uses Graph;

Var Driver, Mode, Error : integer;

Begin

Driver := Detect;

InitGraph (Driver, Mode, ‘’);

Error GraphResult;

If Error <> 0 then

WriteLn (GraphErrarMsg (Error))

Else

Begin

WriteLn (‘Це графічний режим’);

ReadLn;

ResultCRTMode;

WriteLn (‘Це текстовий режим’);

`ReadLn;

SetGraphMode (GetGraphMode);

WriteLn (‘Знову графічний режим’);

ReadLn;

CloseGraph;

End;

End.

Приклад 5:

Після ініціалізації графічного режиму виводить на екран рядок з іменем завантаженого драйверу, а також всі режими його роботи.

Uses GRAPH;

Var

a, b : integer;

begin

a := Detect;

InitGraph (a, b, ‘’);

WriteLn (GetDriveName);

For a := 0 to GetMaxMode do

WriteLn (GetModeName (a) : 10);

ReadLn;

CloseGraph;

End;

Приклад 6:

Вивести на екран назви всіх адаптерів і діапазон можливих номерів режимів їх роботи.

Uses Graph;

Var

D, L, H : integer;

Const

N : array [1..11] of string [8] =

(‘CGA’, ‘MCGA’, ‘EGA’;

‘EGA64’, ‘EGAMONO’, ‘IBM8514’;

‘HercMONO’, ‘ ATT400’, ‘VGA’;

‘PC3270’, ‘Помилка’);

begin

writeLn (‘ адаптер Мин. Макс.’);

for D :=1 to 11 do

begin

GetModeRange (D, L, H);

WriteLn (N [D], L : 7, H : 10);

End;

End.

Таким чином:

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

б) для ініціалізації графічного режиму використовують процедура InitGraph ;

в) завершує графічний режим процедура CloseGraph ;

г) структура графічної Паскаль-програми практично не відрізняється від стандартної структури;

д) модульGRAPH містить широкий набір процедур та функцій роботи з відеорежимами.

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

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

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

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

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

GetMax X : integer;

GetMax Y : integer.

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

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

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

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

2) MoveRel (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

Побудова прямокутників та паралелепіпедів

1) Процедура Rectangle ( x 1, y 1, x 2, y 2 : integer ); створює прямокутник з координатами x1, y1 – лівого верхнього кута і x2, y2 – правого нижнього кута. Область середини прямокутника незафарбована і співпадає з кольором фону екрану. Для ліній прямокутника використовується поточний стиль ліній і колір (заданий).

2) Процедура Bar ( x 1, y 1, x 2, y 2 : integer ); утворює прямокутник, внутрішня область якого заповнюється поточним стилем (тип і колір). Параметри процедури – відповідні координати лівого верхнього та правого нижнього кутів. Використовують для побудови гістограм, діаграм і т.п.

3) Процедура Bar 3 D ( x 1, y 1, x 2, y 2 : integer ; D 3 : word ; Top : boolean ); відображає паралелепіпед (трьохмірне зображення) і зафарбовує його передню грань поточним стилем. X1.. Y2 – координати лівого верхнього та правого нижнього кута передньої грані; D3 – трьохмірне зображення "глибина" у пікселях; Top – задає режим відображення верхньої грані. В модуліGRAPH для режиму Top визначені 2 константи:

Top On = TRUE – верхня грань відображається;

Top Off = FALSE – верхня грань не відображається.

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

Многокутники можна зображати декількома способами: наприклад, за допомогою процедур 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) процедура Circle ( x, y : integer; r : word); зображає коло поточного кольору, товщини і вид лінії. Параметри x, y – координати центру кола, r– радіус у пікселях.

2) Процедура Arc (x, y : integer; StAngle, EndAngle, r : word); креслить дугу кола. Задається координатами центру кола, початковим та кінцевим кутами ( у градусах), які відраховуються від горизонтальної вісі проти часової стрілки; радіус кола у пікселях.

3) процедура Ellipse ( x, y : integer; StAngle, EndAngle, xr, yr, r : word); призначена для побудови еліптичних дуг. Параметри: координати центру, початковий та кінцевий кути, горизонтальний та вертикальний радіуси еліпсу у пікселях.

4) Процедура Sector ( x, y : integer; StAngle, EndAngle, rx, ry, r : word); відображає сектор еліпсу, який заповнюється поточним стилем. Параметри аналогічні.

5) Процедура FillEllipse ( x, y : integer; xr, yr : word); креслить контур еліпсу поточним кольором і заповнює поточним стилем. Параметри: координати центру, горизонтальний та вертикальний радіуси еліпсу.

6) Процедура PieSlice ( x, y : integer; StAngle, EndAngle, r : word); зображає сектор кола і заповнює поточним стилем. Зручно використовувати для побудови кругових діаграм.

Програмування графіки в комбінації з текстом

Відображення тексту у графічному режимі має ряд особливостей:

1) всі дії виконуються тільки з рядковими константами і змінними, тому вся чисельна інформація повинна перетворюватись в символьну;

2) можливість використання різноманітних шрифтів.

Розглянемо основні засоби модуля GRAPH для виведення текстової інформації:

а) процедура OutText ( text : string ); виводить на екран рядок тексту, починаючи з поточного розміщення графічного курсору СР;

б) процедура OutTextXY ( x , y , text ); виводить рядок тексту починаючи з указаних координат;

в) процедура SetTextStyle ( Font, Direct, size : word); встановлює стиль тексту. Параметри: код шрифту, код орієнтації символів, розмір символів.

1. Відображення цифрової інформації.

В модулі GRAPH засоби відсутні. Але можна використовувати наступний спосіб: спочатку перетворити число або цифру в рядок за допомогою процедури Str , а далі операцією конкатенації (+) поєднати її з рядком, який відображається процедурою OutTextXY .

Приклад:

Max := 3.14;

Str ( Max : 4 : 2, Smax);

OutTextXY (400, 40, ‘ Max=’ + Smax);

Висновки: таким чином модульGRAPH містить достатньо потужні засоби побудови і відображення різноманітної графічної інформації (геометричні фігури в комбінації з текстом і числами).

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Где скачать еще рефератов? Здесь: letsdoit777.blogspot.com
Евгений06:42:41 19 марта 2016
Кто еще хочет зарабатывать от 9000 рублей в день "Чистых Денег"? Узнайте как: business1777.blogspot.com ! Cпециально для студентов!
16:04:01 25 ноября 2015

Работы, похожие на Реферат: Відображення на екрані дисплея графічної інформації

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(151057)
Комментарии (1843)
Copyright © 2005-2016 BestReferat.ru bestreferat@mail.ru       реклама на сайте

Рейтинг@Mail.ru