Перетворення відеоінформації при виведенні на екран і при скануванні.

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

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

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

Неважко зрозуміти, що растровий підхід універсальний, тобто він може бути застосований завжди, незалежно від характеру зображення. З того, що говорилося вище про відеопам'ять, про дискретну структуру екрана монітора, випливає, що у відеопам'яті будь-яке зображення представляється в растровому виді. На сучасних ПК використовуються тільки растрові дисплеї, що працюють за принципом порядкового розгорнення зображення.

У базовому курсі інформатики в основному вивчається лише растрова графіка. Відомості про векторну графіку даються в додатковому матеріалі.

Після того, як учні довідаються, що відеоінформація — це сукупність кодів кольору пікселей екрана, варто розглянути способи кодування кольорів. Як вже було сказано, фізичний принцип одержання різноманітних кольорів на екрані дисплея полягає в змішуванні трьох основних кольорів: червоного, зеленого і синього. Тобто, інформація, що вкладена в коді пікселя, повинна містити відомості про те, яку інтенсивність (яскравість) має кожна складова в його кольорі.

Необхідно розкрити перед учнями зв'язок між кодом кольору, і складом суміші базових кольорів. Варто почати з розгляду варіанта восьмикольорової палітри. У цьому випадку використовується трьохбітовий код і кожен біт такого коду позначає наявність (1) або відсутність (0) відповідного базового кольору. Можна побудувати і запропонувати дітям спеціальну таблицю, у якій приведені коди восьмикольорової палітри. Біти в такому коді розподілені за принципом «ЧЗС», тобто перший біт відповідає за червону складову, другий — за зелену, третій — за синю. З цієї теми учні повинні уміти відповідати на питання такого типу (якщо використовується таблиця):

— Змішуванням яких кольорів виходить рожевий колір?

— Відомо, що коричневий колір виходить змішуванням червоного і зеленого кольорів. Який код у коричневого кольору?

При програмуванні кольорових зображень прийнято кожному кольору ставити у відповідність десятковий номер. Одержати номер кольору дуже просто. Для цього його двійковий код, розглядаючи як ціле двоічне число, необхідно перевести в десяткову систему числення. Тоді, номер чорного кольору — 0, синього — 1, зеленого — 2, і т.д. Білий колір має номер 7. Корисними, з погляду закріплення знань двійкової системи числення, є питання такого роду:

— Не дивлячись у таблицю, назвати десятковий номер червоного кольору.

Тільки після того, як учні розберуться з восьмикольоровою палітрою, можна переходити до розгляду кодування більшого числа кольорів. Палітри більшого розміру отримуються шляхом роздільного керування інтенсивністю кожного з трьох базових кольорів. Для цього в коді кольору під кожен базовий колір виділяється більш одного біта. Наприклад, структура восьмибітового коду для палітри з 256 кольорів така: «КККЗЗЗСС», тобто по 3 біти кодують червону і зелену складові і 2 біти — синю. У результаті червона і зелена складові мають по 8 (23) рівнів інтенсивності, а синя — 4 (22). Усього: 8x8x4 = 256 кольорів.

Зв'язок між розрядністю коду кольору — b і кількістю кольорів — К (розміром палітри) виражається формулою: К = 2b. У літературі по комп'ютерній графіці величину b прийнято називати бітовою глибиною кольору. Варто розкрити зв'язок між величинами бітової глибини, дозвільною здатністю графічної сітки (розміром растра) і обсягом відеопам'яті. Якщо позначити мінімальний обсяг відеопам'яті у бітах через Vm, дозвільну здатність дисплея – М*N, то зв'язок між ними виразиться формулою:

Vm = b * М*N.

4. Існує безліч прикладних програм, призначених для роботи з графікою. Для кожного розділу комп'ютерної графіки є свої програми. Наприклад, для графічної обробки наукових даних використовується програма Grapher; інженери-конструктори для підготовки креслень користуються пакетом AutoCAD; існують спеціалізовані пакети ділової графіки, призначені для побудови діаграм, що відображають статистичні дані.

Назва «графічний редактор» застосовується стосовно прикладних програм, що не мають спеціалізованої орієнтації і використовуються для «довільного малювання» або редагування сканованих зображень. Відповідно до двох принципів представлення графічної інформації — растрового і векторного, графічні редактори поділяються на растрові і векторні редактори.

До числа найпростіших растрових редакторів відносяться Paintbrush і Paint. Растровий редактор Adobe Photoshop використовується професійними дизайнерами. Найчастіше його застосовують для редагування сканованих зображень (фотографій, репродукцій картин), створення художніх композицій, колажів і ін.

Для професійного малювання на комп'ютері використовуються редактори векторного типу. Найбільш відомим з них є CorelDraw. Це професійний редактор з багатими можливостями і, у той же час, цілком підходить для «дитячої художньої творчості».

У стандартному постачанні Windows у групі «Стандартні» мається графічний редактор Paint. Paint є прямим «родичем» редактора Paintbrush, що працює в середовищі MS DOS. У базовому курсі інформатики для практичної роботи з комп'ютерною графікою звичайно використовують один з цих редакторів. У профільному курсі комп'ютерної графіки для одержання мальованих зображень більше підходить CorelDraw. Зауважемо, що професійні графічні редактори, такі як CorelDraw, Adobe Photoshop — досить дорогі програмні продукти і тому не всім доступні.

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

Ще одним корисним навчальним елементом є можливість демонстрації механізму змішання кольорів. Для цього в головному меню Paint потрібно вибрати пункт [Палітра]-[Змінити палітру]-[Визначити колір]. Вікно, що з'явилося, є прекрасним інструментом для експериментів з кольором. Користувач може змінювати відтінки, контрастність, яскравість кольору і при цьому спостерігати RGB-склад отриманої фарби. Створивши свою фарбу, користувач може включити її в палітру на відповідній панелі редактора.

Принцип растрового малювання — зафарбовування кожного окремого пікселя малюнка. Для растрових редакторів характерна наявність таких інструментів, як пензлик, олівець, ластик. Цих інструментів немає у векторних редакторах. Там малюнок створюється тільки шляхом маніпулювання з графічними примітивами: лініями, дугами, еліпсами та ін. Ці елементи малюнка можуть бути в будь-який момент змінені: стиснуті, розтягнуті, перевернуті, перемішені, вилучені. У растрових редакторах теж використовуються графічні примітиви. Але їхнє застосування скоріше схоже на використання лінійок, лекал, циркуля й інших креслярських інструментів при малюванні на папері. Один раз намальований такий елемент уже не можна змінити. Його можна лише стерти або відредагувати промальовуванням.