Рефераты. Побудова динамічної графіки

Побудова динамічної графіки

3

МІНІСТЕРСВО ОСВІТИ І НАУКИ УКРАЇНИ

ЧЕРКАСЬКИЙ ДЕРЖАВНИЙ ТЕХНОЛОГІЧНИЙ УНІВЕРСИТЕТ

ФАКУЛЬТЕТ ФІТІС

КАФЕДРА КОМП'ЮТЕРНИХ СИСТЕМ

КУРСОВИЙ ПРОЕКТ

з дисципліни ”Програмування”

не тему: ”Побудова динамічної графіки”

ЧДТУ 03 ****.001 ПЗ

Пояснювальна записка

Керівник: Виконав:

асистент кафедри КС студент І-го курсу

Ярошевич Д.О. групи КМ-311

Кулинич Євгеній

допущено до захисту: _______________

”___”_________2004р. (підпис)

захищено з оцінкою:

_________________

”___”_________2004р.

_________________

(підпис)

Черкаси 2004

ЗМІСТ

  • 1. Теоретичні відомості 2
  • 2. Блок-схема 2
  • 3. Текст програми 2
  • 4. Результати роботи програми 2

1. Теоретичні відомості

· Процедури і функції

· Координати, вікна, сторінки

· Багатокутники

· Дуги, кола, еліпси

· Фарби, палітри, заповнення

· Збереження і видача зображень

· Виведення тексту

· Включення драйвера і шрифтів в тіло програми

Починаючи з версією 4.0, до складу Турбо Паскаля включена могутня бібліотека графічних підпрограм Graph, що залишається практично незмінною у всіх подальших версіях. Бібліотека містить в цілому більше 50 процедур і функцій, що надають програмісту найрізноманітніші можливості управління графічним екраном. Для полегшення знайомства з бібліотекою всі процедури і функції, що входять до неї, згруповані за функціональним принципом.  

· Процедури і функції

Процедура InitGraph. Ініціює графічний режим роботи адаптера.

Заголовок процедури:

Procedure InitGraph(var Driver,Mode: Integer; Path: String);

Тут Driver - змінна типу Integer, визначає тип графічного драйвера; Mode - змінна того ж типу, задаюча режим роботи графічного адаптера; Path - вираз типа String, що містить ім'я файлу драйвера і, можливо, маршрут його пошуку.

До моменту виклику процедури на одному з дискових носіїв інформації повинен знаходитися файл, що містить потрібний графічний драйвер. Процедура завантажує цей драйвер в оперативну пам'ять і переводить адаптер в графічний режим роботи. Тип драйвера повинен відповідати типу графічного адаптера. Для вказівки типу драйвера в модулі приречені наступні константи:

const

Detect=0;{Режим автовизначення типу}

CGA=1;

MCGA=2;

EGA=3;

EGA64=4;

EGAMono=5;

IBM8514=6;

HercMono=7;

ATT400=8;

VGA=9;

PC3270=10;

Більшість адаптерів може працювати в різних режимах. Для того, щоб вказати адаптеру необхідний режим роботи, використовується змінна Mode, значенням якої у момент звернення до процедури можуть бути такі константи:

const

{ Адаптер CGA : }

CGACO = 0;

{Низьке розширення, палітра 0}

CGAC1 = 1;

{ Низьке розширення, палітра 1}

CGAC2 = 2;

{ Низьке розширення, палітра 2}

CGAC3 = 3;

{ Низьке розширення, палітра 3}

CGAHi = 4;

{ Високе розширення }

{Адаптер MCGA:}

 

MCGACO = 0;

{Емуляція CGACO}

MCGAC1 = 1;

{Емуляція CGAC1}

MCGAC2 = 2;

{Емуляція CGAC2}

MCGAC3 = 3;

{Емуляція CGAC3}

MCGAMed = 4;

{Емуляція CGAHi}

MCGAHi = 5;

{640x480}

{Адаптер EGA :}

 

EGALo = 0;

{640x200, 16 кольорів}

EGAHi = 1;

{640x350, 16 кольорів}

EGAMonoHi = 3;

{640x350, 2 кольори}

{Адаптери HGC і

HGC+:}

HercMonoHi = 0;

{720x348}

{АдаптерАТТ400:}

ATT400CO = 0;

{Аналог режиму CGACO}

ATT400C1 = 1;

(Аналог режиму CGAC1}

ATT400C2 = 2;

{Аналог режиму CGAC2}

ATT400C3 = 3;

{Аналог режиму CGAC3}

ATT400Med = 4;

{Аналог режиму CGAHi}

ATT400H1 = 5;

{640x400, 2 кольори}

{Адаптер VGA:}

VGALo = 0;                      {640x200}

VGAMed = 1;                    {640x350}

VGAHi = 2;                      {640x480}

PC3270H1 = 0;                {Аналог HercMonoHi}

{Адаптер 1ВМ8514}

IBM8514LO =0;          {640x480, 256 кольорів}

IBM8514H1 = 1;        {1024x768, 256 кольорів}

Нехай, наприклад, драйвер CGA.BGI знаходиться в каталозі TP\BGI на диску З і встановлюється режим роботи 320x200 з палітрою 2. Тоді звернення до процедури буде таким:

Uses Graph; 

var

Driver, Mode : Integer; 

begin

Driver := CGA;{Драйвер}

Mode := CGAC2;{Режим роботи}

InitGraph(Driver, Mode,' З:\TP\BGI');

.......

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

Driver := Detect;

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

Після такого звернення встановлюється графічний режим роботи екрану, а при виході з процедури змінні Driver і Mode містять цілочисельні значення, що визначають тип драйвера і режим його роботи. При цьому для адаптерів, здатних працювати в декількох режимах, вибирається старший режим, тобто той, що закодований максимальною цифрою. Так, при роботі з CGA -адаптером звернення до процедури із значенням Driver = Detect поверне змінній Driver значення 1 (CGA) і в Mode -значення 4 (CGAHi), а також звернення до адаптера VGA поверне Driver = 9 (VGA) і Mode = 2 (VGAHi).

Функція GraphErrorMsg.

Повертає значення типу String, в якому за вказаним кодом помилки дається відповідне текстове повідомлення.

Заголовок функції:

Function GraphErrorMsg(Code: Integer): String;

Тут Code - код помилки, що повертається функцією GraphResult.

Частіше за все причиною виникнення помилки при зверненні до процедури InitGraph є неправильна вказівка місцеположення файлу з драйвером графічного адаптера (наприклад, файлу CGA.BGI для адаптера CGA). Настройка на місцеположення драйвера здійснюється завданням маршруту пошуку потрібного файлу в імені драйвера при виклику процедури InitGraph. Якщо, наприклад, драйвер зареєстрований в підкаталозі DRIVERS каталога PASCAL на диску D, то потрібно використовувати виклик:

InitGraph(Driver, Mode, 'd:\Pascal\Drivers');

Процедура CloseGraph.

Завершує роботу адаптера в графічному режимі і відновлює текстовий режим роботи екрану.

Заголовок:

Procedure CloseGraph;

Процедура RestoreCRTMode.

Слугує для короткочасного повернення в текстовий режим. На відміну від процедури CloseGraph не скидаються встановлені параметри графічного режиму і не звільняється пам'ять, виділена для розміщення графічного драйвера.

Заголовок:

Procedure RestoreCRTMode;

Функція GetGraphMode.

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

Заголовок:

Function GetGraphMode: Integer;

Процедура SetGraphMode.

Встановлює новий графічний режим роботи адаптера.

Заголовок:

Procedure SetGraphMode(Mode: Integer);

Тут Mode - код встановлюваного режиму.

Процедура DetectGraph.

Повертає тип драйвера і режим його роботи.

Заголовок: 

Procedure DetectGraph(var Driver,Mode: Integer);

Тут Driver - тип драйвера; Mode - режим роботи.

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

Функція GetDriverName.

Повертає значення типу String, що містить ім'я завантаженого графічного драйвера. Заголовок:

Function GetDriverName: String;

Функція GetMaxMode.

Повертає значення типу Integer, що містить кількість можливих режимів роботи адаптера.

Заголовок:

Function GetMaxMode: Integer;

Функція GetModeName.

Повертає значення типу String, що містить розширення екрану і ім'я режиму роботи адаптера по його номеру.

Заголовок:

Function GetModName(ModNumber: Integer): String;

Тут ModNumber - номер режиму.

Процедура GetModeRange.

Повертає діапазон можливих режимів роботи заданого графічного адаптера. Заголовок:

Procedure GetModeRange(Drv: Integer; var Min, Max: Integer);

Тут Drv - тип адаптера; Min - змінна типа Integer, в якій повертається нижнє можливе значення номера режиму; Мах - змінна того ж типу, верхнє значення номера.

· Координати, вікна, сторінки

Страницы: 1, 2, 3, 4, 5



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.