L14-a.ppt
- Количество слайдов: 25
ГРАФІЧНІ ЗАСОБИ
Режими роботи монітору • Текстовий • Графічний Різниця у можливостях управління виведенням візуальної інформації: • У текстовому режимі – одиниця виведення (мінімальний об’єкт виведення) – символ (80* 25). • У графічному режимі - одиниця виведення піксель (pixel) (800*600); (1920*1600)
Основні визначення графіки • • • Графічні координати; Графічне вікно; Пряма лінія; Відрізок прямої; Крива другого порядку; Крива третього порядку.
Графічні координати задають положення точки на екрані монітора. Як графічні координати використовуються номери пікселів. • Допустимий діапазон змін: - По горизонталі: [0, rx-1], rx – горизонтальний дозвіл екрану. - По вертикалі: [0, ry-1], ry – вертикальний дозвіл екрану. Точкою відрахунку є верхній лівий кут екрану. Координати х відраховуються зліва направо, координати y – зверху донизу.
Графічні координати 1. Графічні координати приймають лише цілі значення. 2. Перерахунок декартових координат (х, у) у графічні (xg, yg) здійснюється за формулами: xg=[sx*x] + dx, yg=ry-[sy*y] – dy sx, sy – масштабні множники, що обираються за умовами: rx=[sx*xmax]+1 ry=[sy*ymax]+1 rx - кількість пікс. за горизонт. , ry – кількість пікс. за вертик. (дозвіл монітору). хmax, ymax – максимальні значення геометричних координат. dx, dy - зсув відносно лівого верхнього кута. Для зміщення у центр: dx=[rx/2] dy=[ry/2].
Графічне вікно- частина екрану, яка використовується для побудови графічних зображень і визначає розмір та положення області перегляду. (0, 0) х (Getmax. X, 0) y (0, Getmax. Y) (Getmax. X, Getmax. Y) Getmax. X, Getmax. Y – найбільші номери пікселів по горизонталі та вертикалі.
Пряма лінія Задається рівнянням: Y= Ax+B Задаючи параметри А та В, можна відобразити нескінченну пряму у заданій системі координат.
Відрізок прямої Потребує координат початку (х1, y 1) та кінця (x 2, y 2) відрізку.
Крива другого порядку Задається формулою: X 2+A 1 y 2+A 2 xy+A 3 x+A 4 y+A 5=0 До цього класу належать параболи, гіперболи, еліпси, кола. Для їх опису потрібно задати п’ять параметрів: A 1, A 2, A 3, A 4, A 5 Якщо потрібно побудувати відрізок кривої, слід задати ще два параметри: координати початку та кінця відрізку.
Переключення між текстовим та графічним режимами Роботу монітору у графічному режимі підтримує відеоадаптер, яким керує спеціальна програма – драйвер. Драйвер зберігається у окремому файлі на диску і містить виконуємий код та необхідні для його роботи дані. Ознакою файлу з драйвером є розширення. bgi. Підключення графічного режиму здійснюється процедурою Init. Graph з модуля Graph: Init. Graph(gd, gm, ’c: bpbgi’); gd – тип відеоадаптеру; gm – графічний режим, знаходиться у відповідності з gd; Третій параметр – розташування драйверу на диску.
Процедури та функції графічного режиму Модуль Graph Турбо Паскаля містить близько п’ятидесяти різних процедур та функцій, призначених для роботи з графічним екраном. Основну частину модуля складають процедури виводу базових графічних елементів: точки, відрізки прямих ліній, дуги, колa та ін. Ще одна частина процедур призначена для управління графічними режимом. Щоб скористуватись усіма можливостями модуля Graph, на початку програми, після заголовку, необхідно розмістити оператор використання: Uses Graph;
Приклади використання 1. Uses Graph var Driver, mode: Integer; begin Driver: =CGA; mode: IGGAC 2; Init. Graph(Driver, Mode, ’’) 2. Uses Graph var Driver, mode: Integer; begin Driver: =Detect; {режим автовизначення драйверу}; Init. Graph(Driver, Mode, ’C: BPBG’);
Закриття графічного режиму Завершує роботу адаптеру в графічному режимі та оновлює текстовий режим роботи екрану: Close. Graph;
Перевірка
Оператори задання кольорів Оператор, що задає колір зображення: Set. Color (Color); Оператор, що задає поточний колір: Set. BKColor(Color); де Color – колір фону. Наприклад: Set. Color (Red); Set. BKColor (Green);
Оператор зміни палітри кольорів Якщо комп’ютер взаємодіє з адаптерами дисплеїв типу EGA, VGA, MCGA, то допускається використовувати оператори зміни кольорів у поточній палітрі Set. Рalette (N, Color); де N – номер кольору у палітрі; змінна типу Word, Color – номер кольору, що встановлюється; змінна типу Short. Int. Ця процедура працює тільки з адаптерами EGA або VGA. Наприклад: Set. Рalette (3, Yellow); Колір з номером 3 – зелений буде замінений на жовтий. Встановлення стилю (типу та кольору) заповнення: Setfillstyle (Fill, Color); де Fill – тип заповнення (допустимі значення 0… 12) задає номер узору; Color – колір заповнення, змінна типу
Оператор зміни палітри кольорів Оператор, що повертає розмір та кольори поточної палітри: Get. Рalette (Рalette. Info, Рalette. Type); де Get. Рalette – змінна типу Рalette. Type, що повертає розмір та колір палітри.
Оператор задання графічного вікна Побудова різних графічних зображень можуть виконуватись як на всьому екрані, так і в будь-якій його прямокутній області меншого розміру, що називається графічним вікном виведення (графічним екраном). За замовченням графічне вікно збігається з фізичним екраном. Можна задати декілька графічних вікон, розміщених у межах фізичної області екрана. Set. View. Port (x 1, y 1, x 2, y 2, Clip. On); де x 1, x 2, y 1, y 2 – змінні типу Integer, x 1, y 1 – координати верхнього лівого та x 2, y 2 – координати нижнього правого кутів вікна, Clip. On – вираз типу Boolean, що визначає відсікання елементів зображення, що не вміщується у вікні. Якщо Clip. On=True, включається відсікання, і елементи, що не вміщуються у межі вікна, відсікаються.
Оператор задання графічного вікна Заповнення прямокутної області екрану здійснює процедура: Bar (x 1, y 1, x 2, y 2); де x 1, y 1, x 2, y 2 – змінні типу Integer, що мають попередній зміст. Ця процедура зафарбовує, але не обводить рамкою прямокутник поточним кольором та зразком візерунку, що встановлюються процедурою Set. Fill. Style.
Затримання на екрані зображення Процедура Readln; дозволяє затримати зображення на екрані до натискання клавіші Enter.
Оператори виведення та гасіння точки За допомогою зображення точки на екрані можна виконувати найпростіші побудови, наприклад, графікa функції. Put. Pixel (x, y, Color); процедура виведення на екран точки з координатами (x, y) заданого кольору Color, де x, y– змінні типу Integer; Color – змінна типу Word. Координати задаються відносно лівого верхнього кута вікна, або, якщо вікно не встановлено, відносно лівого верхнього кута екрана.
Приклад: Put. Pixel (50, 100, White); – виводиться точка білого кольору з координатами (50, 100) відносно верхнього лівого кута екрана. Зауваження. Для виведення точки у математичних координатах слід скористатися спеціальними функціями gx, gy, що перетворюють математичні координати на графічні. Function gx(x: Extended; sx: Integer): Integer; Function gy(y: Extended; sy: Integer): Integer;
Приклад: uses graph; Var x, y : Extended; sx, sy : Integer; begin … Function gx(x: Extended; sx: Integer): Integer; begin gx: = trunc (sx*x) + Get. Maxxdiv 2; end; Function gy(y: Extended; sy: Integer): Integer; begin gy: = Get. Maxydiv 2 - trunc (sy*y); end; ……………. end. Де sx, sy – масштабні множники. Get. Maxxdiv 2, Get. Maxydiv 2 – зміщення до центру екрану.
L14-a.ppt