- •Тема_7: Робота в графічному режимі
- •Приклади побудови графічних зображень.
- •Створення ефекту руху зображення в графічному режимі.
- •1. Текстовий та графічний режими роботи
- •2. Ініціалізація графічного режиму
- •InitGraph (grDriver, grMode, “шлях до драйвера”);
- •3. Бібліотека Graph
- •Стандартні процедури та функції для побудови графічних зображень
- •4. Приклади побудови графічних зображень
- •Var grDriver: integer;
- •Var grDriver:integer;
- •InitGraph(grDriver,grMode,grPath);
- •Var grDriver:integer;
- •InitGraph(grDriver,grMode,grPath);
- •5. Створення ефекту руху зображення в графічному режимі
- •Var grDriver:integer;
- •I:integer;
- •Var grDriver:integer;
- •I:integer; {параметр циклу}
- •InitGraph(grDriver,grMode,grPath);
- •6. Відтворення звуку
Тема_7: Робота в графічному режимі
План.
Текстовий та графічний режими роботи.
Ініціалізація графічного режиму.
Бібліотека Graph.
Приклади побудови графічних зображень.
Створення ефекту руху зображення в графічному режимі.
Відтворення звуку.
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.