Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція #Graph.doc
Скачиваний:
1
Добавлен:
16.09.2019
Размер:
1.81 Mб
Скачать

Тема_7: Робота в графічному режимі

План.

  1. Текстовий та графічний режими роботи.

  2. Ініціалізація графічного режиму.

  3. Бібліотека Graph.

  4. Приклади побудови графічних зображень.

  5. Створення ефекту руху зображення в графічному режимі.

  6. Відтворення звуку.

1. Текстовий та графічний режими роботи

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

Елементом зображення у текстовому режимі є символ. Текстовий режим забезпечує, зазвичай, виведення символів на екран у 25 рядків і 80 стовпців.

Елементом зображення у графічному режимі є піксель. Пікселі можна засвічувати певним кольором чи гасити, у результаті чого на екрані утворюється деяке зображення. Кожний монітор має свою кількість пікселів на екрані. Вона характеризує якість зображення та визначається відеоадаптером (640 * 350 для EGA, 640 * 480 – для VGA).

Початок відліку координат знаходиться у лівому верхньому куті екрана. Кожна точка характеризується двома координатами: x та y, які є додатними. Схематично осі координат на екрані мають такий вигляд:

2. Ініціалізація графічного режиму

Для того, щоб програма змогла виводити на екран будь-які графічні зображення, необхідно ініціалізувати (активізувати) графічний режим, тобто перейти до нього з текстового режиму. Для цього використовують процедуру InitGraph (grDriver, grMode, grPath).

Перший параметр задає тип відеоадаптера (визначає драйвер відеосистеми), другий – визначає відеорежим, а третій параметр являє собою шлях до драйвера на диску (зазвичай він розташований у папці BGI). Для того, щоб комп’ютер автоматично розпізнавав відеоадаптер та відеорежим, користуються вбудованою константою Detect таким чином: grDriver:=Detect;

Завершують роботу в графічному режимі, або ж закривають його процедурою CloseGraph.

Структура програми у графічному режимі:

Program Ім’я;

Uses Graph;

Var GrDriver, grMode, errCode: Integer; {ці змінні використовуються процедурою InitGraph}

begin { тіло програми }

GrDriver: = Detect; {автоматичне визначення драйвера}

InitGraph (grDriver, grMode, “шлях до драйвера”);

{шлях до драйвера, наприклад: С:\ТР\BGI}

ErrCode: = GraphResult; {функція, що повертає результат ініціалізації графічного режиму}

If errCode = grOK {якщо результат успішний}

Then

Begin

{ режим відкритий і Ви можете працювати}

. . .

CloseGraph; { закриття графічного режиму }

End

Else

begin

{ режим не вдалося відкрити, чому ?}

Writeln ('...');

{ в цьому місці Ви повідомляєте причину невдачі, яку визначаєте в результаті аналізу змінної errorCode}

End

End.

Змінна ErrorCode зберігає значення, отримане функцією GraphResult, яке може бути числом в діапазоні від 0 до -14. Про безпомилкову роботу свідчить значення, рівне 0 (символьне ім’я цієї константи – grOk), решта значень указують на одну з помилок ініціалізації графічного режиму:

-1 (grNoInitGraph) – графічний режим не ініціалізувався (використовуйте InitGraph)

-2 (grNotDetected) – не знайдені графічні засоби

-3 (grFileNotFound) – не знайдений файл

-4 (grlnvalidDriver) – недоступний драйвер

-5 (grNoLoadMem) –не вистачає пам'яті для завантаження драйвера

-6 (grNoScanMem) – помилка при скануванні пам'яті

-7 (grNoFloodMem) – помилка при зафарбовуванні

-8 (grFontNotFound) – не знайдений шрифт

-9 (grNoFontMem) – шрифт не завантажено

-10 (grlnvalidMode) –недоступний режим

-11 (grError) – графічна помилка

-12 (grIOerror) – помилка графічного ведення-виведення

-13 (grlnvalidFont) – невірний файл шрифту

-14 (grlnvalidFontNum) – невірний номер шрифту.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]