Завдання для дистанційного навчання:
Опрацюйте 3-й параграф теоретичного матеріалу:
1. Прочитайте текст.
2. Зробіть конспект у зошиті.
§3. ФОРМАТИ
ГРАФІЧНИХ ФАЙЛІВ
• що
таке формат графічного файлу;
• зберігання
інформації в файлах векторних форматів;
• особливості
стандартних векторних форматів;
• подання
інформації в файлах растрових форматів;
• особливості
стандартних растрових форматів;
• збереження
зображень у власних і «чужих» форматах
графічних програм;
• перетворення
форматів файлів.
Проблема збереження зображень для подальшої їх обробки надзвичайно
важлива. З нею стикаються користувачі будь-яких графічних систем. Зображення
може бути оброблено декількома графічними програмами перш, ніж набуде свого
остаточного вигляду. Наприклад, вихідна фотографія спочатку сканується, потім
поліпшується її чіткість і проводиться корекція кольорів в програмі Adobe PhotoShop.
Після цього зображення може бути експортовано в програму малювання, таку як
CorelDRAW! або Adobe Illustrator, для додавання мальованих картинок. Якщо
зображення створюється для статті в журналі або книзі, то воно повинно бути
імпортовано в видавничу систему QuarkXPress або Adobe PageMaker. Якщо ж
зображення повинно з'явитися в мультимедіа-презентації, то воно, швидше за все,
буде використано в Microsoft PowerPoint, Macromedia Director або розміщено на
Web-сторінці.
Формат графічного
файлу - спосіб представлення і розташування графічних
даних на зовнішньому носії. В умовах відсутності стандартів кожен розробник
винаходив новий формат для власних додатків. Тому виникали великі проблеми
обміну даними між різними програмами (текстовими процесорами, видавничими
системами, пакетами ілюстративної графіки, програмами САПР і ін.). Але з
початку 80-х рр. офіційні групи по стандартам почали створювати спільні формати
для різних додатків. Єдиного формату, придатного для всіх додатків, немає і
бути не може, але все ж деякі формати стали стандартними для цілого ряду
предметних областей. Користувачеві графічної програми не потрібно знати, як
саме в тому чи іншому форматі зберігається інформація про графічні дані. Однак
вміння розбиратися в особливостях форматів має велике значення для ефективного
зберігання зображень і організації обміну даними між різними додатками. Важливо
розрізняти векторні і растрові формати.
Векторні формати
Файли векторного формату містять описи малюнків у вигляді набору
команд для побудови найпростіших графічних об'єктів (ліній, кіл, прямокутників,
дуг тощо). Крім того, в цих файлах зберігається деяка додаткова інформація.
Різні векторні формати відрізняються набором команд і способом їх кодування.
Як приклад розглянемо опис простого малюнка у вигляді
послідовності векторних команд. Нехай в вашому розпорядженні є наступні
векторні команди:
Встановити X, Y - встановити в якості поточної позицію (X, Y).
Лінія до X1, Y1 - намалювати лінію від поточної позиції до позиції (XI, Y1), при
цьому позиція (X1, Y1) стає поточною.
Лінія X1, Yl, X2, Y2 - намалювати лінію з координатами її початку (XI, Y1) і
координатами кінця (Х2, Y2), при цьому поточна позиція не встановлюється.
Коло X, Y,
<радіус> - намалювати коло, де (X,
Y) - координати центру, <радіус> - радіус в пікселях.
Еліпс X1, Y1, X2, Y2 - намалювати еліпс, обмежений прямокутником, де (XI, Y1) -
координати лівого верхнього кута цього прямокутника, a (X2, Y2) - правого
нижнього.
Прямокутник X1, Y1,
X2, Y2 - намалювати прямокутник, де (XI, Y1) -
координати лівого верхнього кута цього прямокутника, а (Х2, Y2) - правого
нижнього.
Колір малювання
<колір> - встановити поточний
колір малювання <колір>.
Колір зафарбовування
<колір> - встановити поточний
колір зафарбовування <колір>.
Зафарбувати X, Y,
<колір межі> - зафарбувати довільну
замкнуту фігуру, де (X, Y) - координати будь-якої точки всередині замкнутої
фігури, <колір межі> - колір обмежувальної лінії.
Нехай нам потрібно описати за допомогою векторних команд
зображення кораблика. Координати малюнка задаються в прямокутній декартовій
системі координат, початок якої знаходиться у верхньому лівому кутку.
Розв’язання:
Встановити 270,100
Лінія до 440, 100
Лінія до 400, 140
Лінія до 310, 140
Лінія до 270, 100
Колір зафарбовування Блакитний
Зафарбувати 320, 130, Блакитний
Колір малювання Білий
Колір зафарбовування Білий
Коло 310,120, 5
Зафарбувати 310,120, Білий
Коло 350,120, 5
Зафарбувати 350,120, Білий
Коло 400,120, 5
Зафарбувати 400,120, Білий
Колір малювання Синій
Колір зафарбовування Червоний
Встановити 300,100
Лінія до 340, 20
Лінія до 340, 100
Лінія до 300, 100
Зафарбувати 320,90, Синій
Колір малювання Коричневий
Встановити 340, 20
Лінія до 340,100
Лінія до 400,100
Лінія до 340,20
Колір зафарбовування Білий
Зафарбувати 390, 90, Коричневий
Растрові
формати
У файлах растрових форматів запам'ятовуються:
• розмір зображення - кількість відеопікселів в малюнку по
горизонталі і вертикалі
• бітова глибина - число бітів, використовуваних для зберігання
кольору одного відеопікселя
• дані, що описують малюнок (колір кожного відеопікселя малюнка),
а також деяка додаткова інформація.
У файлах растрової графіки різних форматів ці характеристики
зберігаються різними способами.
Оскільки розмір зображення зберігається у вигляді окремого запису,
кольори всіх відеопікселей малюнка запам'ятовуються як один великий блок даних.
Так як растрове представлення зображення кораблика досить громіздке, розглянемо
як зберігається в растровому файлі просте чорно-біле зображення.
На наступному малюнку показано результат відновлення зображення за інформацією, збереженою в растровому файлі, представленому на попередньому малюнку. У зображенні, відновленому за файлом, відеопікселі розташовуються відповідно
до розміру зображення;
а саме, спочатку - перша десятка відеопікселів, в наступному рядку - друга десятка і т. д., в десятому рядку - останні десять відеопікселів.
Зображення
фотографічної якості, отримані за допомогою сканерів з високою роздільною
здатністю, часто займають кілька мегабайт. Наприклад, якщо розмір зображення
1766 х 1528, а кількість використовуваних кольорів - 16777216, то розмір
реєстрового файлу складає близько 8 Мб (інформація про колір відеопікселів у
файлі займає 1766 х 1528 х 24/8/1024/1024 Мб). Рішенням проблеми зберігання
растрових зображень є стиснення, тобто зменшення розміру файлу за рахунок зміни
способу організації даних. Нікому поки не вдалося навіть наблизитися до
створення ідеального алгоритму стиснення. Кожен алгоритм добре стискає тільки
дані цілком певної структури.
Методи
стиснення діляться на дві категорії:
•
стиснення файлу за допомогою програм - архіваторів;
•
стиснення, алгоритм якого включений в формат файлу.
У
першому випадку спеціальна програма зчитує вихідний файл, застосовує до нього
якась стискає алгоритм (архівує) і створює новий файл. Виграш в розмірі нового
файлу може бути значним. Однак цей файл не може бути використаний жодною
програмою до тих пір, поки він не буде перетворений в початковий стан
(розпакувати). Тому таке стиснення може бути застосовано тільки для тривалого
зберігання та пересилання даних, але для повсякденної роботи воно незручно. У
системах WINDOWS найбільш популярними програмами стиснення файлів є ZIP, ARJ,
RAR і інші.
Якщо
ж алгоритм стиснення включений в формат файлу, то відповідні програми читання
правильно інтерпретують стислі дані. Таким чином, такий вид стиснення дуже зручний
для постійної роботи з графічними файлами великого розміру.
Методи
стиснення графічних даних
При
стисненні методом RLE (Run - Length
Encoding) послідовність повторюваних величин (в нашому випадку - набір біт для
представлення відеопікселя) замінюється парою - повторюваною величиною і числом
її повторень.
Метод
стиснення RLE міститься у деяких графічних форматах, наприклад, в форматі PCX.
Програма
стиснення файлу може спочатку записувати кількість відеопікселів, а потім їх
колір або навпаки. Тому можлива така ситуація, коли програма, що зчитує файл,
очікує появи даних в іншому порядку, ніж програма, яка зберігає цей файл на
диску. Якщо при спробі відкрити файл, стиснутий методом RLE, з'являється
повідомлення про помилку або повністю спотворене зображення, потрібно відкрити
цей файл за допомогою іншої програми або перетворити його в інший формат.
Стиснення
методом RLE найбільш ефективно для зображень, які містять великі області
однотонного зафарбування, і найменш ефективно - для відсканованих фотографій,
так як в них немає довгих послідовностей однакових відеопікселів.
Метод стиснення LZW
(названий так за першими літерами його розробників Lempel, Ziv, Welch)
заснований на пошуку повторюваних візерунків в зображенні. Сильно насичені
візерунками малюнки можуть стискатися до 0,1 їх початкового розміру. Метод
стиснення LZW застосовується для файлів форматів TIFF і GIF; при цьому дані
формату GIF стискаються завжди, а в разі формату TIFF право вибору можливості
стиснення надається користувачеві. Існують варіанти формату TIFF, які
використовують інші методи стиснення. Через існування різних схем стиснення
деякі версії формату TIFF можуть виявитися несумісними один з одним. Це
означає, що можлива ситуація, коли файл у форматі TIFF не може бути прочитаний
в деякій графічній програмі, хоча вона повинна «розуміти» цей формат. Іншими
словами, не всі формати TIFF однакові. Але, незважаючи на цю проблему, TIFF є
одним з найпопулярніших растрових форматів в даний час.
Метод стиснення JPEG
забезпечує високий коефіцієнт стиснення для малюнків фотографічної якості.
Формат файлу JPEG, який використовує цей метод стиснення, розроблений
об'єднаної групою експертів по фотографії (Joint Photographic Experts Group).
Стиснення заметодом JPEG значно зменшує розмір файлу з растровим малюнком
(можливий коефіцієнт стиснення 100: 1). Високий коефіцієнт стиснення
досягається за рахунок стиснення з втратами, при якому в результуючому файлі
втрачається частина вихідної інформації. Метод JPEG використовує той факт, що
людське око дуже чутливе до зміни яскравості, але зміни кольору воно помічає
гірше. Тому при стисненні цим методом запам'ятовується більше інформації про
різницю між яскравостями відеопікселів і менше - про різницю між їх кольорами.
Так як ймовірність помітити мінімальні відмінності в кольорі сусідніх пікселів
мала, зображення після відновлення виглядає майже незмінним. Користувачеві
надається можливість контролювати рівень втрат, вказуючи ступінь стиснення.
Завдяки цьому, можна вибрати найбільш підходящий режим обробки кожного
зображення: можливість задання коефіцієнта стиснення дозволяє зробити вибір між
якістю зображення і економією пам'яті. Якщо зберігається зображення -
фотографія, призначена для високохудожнього видання, то ні про які втрати не
може бути й мови, так як малюнок повинен бути відтворений якомога точніше. Якщо
ж зображення - фотографія, яка буде розміщена на вітальній листівці, то втрата
частини вихідної інформації не має великого значення. Експеримент допоможе
визначити найбільш допустимий рівень втрат для кожного зображення. Інформацію
про методи стиснення, що використовуються в растрових форматах файлів, наведено
в таблиці:
Растрові формати графічних файлів
Назва формату |
Програми, які можуть відкривати файли |
Стиснення |
BMP Windows Device
Independent Bitmap |
Всі програми WINDOWS, які
використовують растрову графіку |
RLE для
16- и 256-колірних зображень (за бажанням) |
PCX Z-Soft PaintBrush |
Майже всі графічні додатки для
PC |
RLE (завжди) |
GIF Graphic Interchange Format |
Майже всі растрові редактори; більшість
видавничих пакетів; векторні редактори, які підтримують растрові об'єкти |
LZW (завжди) |
TIFF Tagged Image File
Format |
Більшість растрових редакторів
і настільних видавничих систем; векторні редактори, які підтримують растрові
об'єкти |
LZW (за бажання)
та ін. |
TGA Truevision Targa |
Програми редагування растрової
графіки |
RLE (за бажанням) |
IMG Digital Research
GEM Bitmap |
Деякі настільні видавничі
системи і редактори зображень WINDOWS |
RLE (завжди) |
JPEG Joint Photographic Experts Group |
Останні
версії програм редагування растрової графіки; векторні редактори, які
підтримують растрові об'єкти
|
JPEG (можна вибрати ступінь стиснення) |
Про
збереження зображень у власних і «чужих» форматах
Як
правило, графічні програми використовують свої власні формати для збереження
зображень у зовнішній пам'яті. Власний файловий формат - найбільш ефективний
формат для зберігання файлів певного графічного додатку. Наприклад, «рідний»
формат CorelDRAW! - CDR, Adobe PhotoShop - PSD, Fractal Design Painter - RIFF,
Paint (стандартна програма WINDOWS) - BMP. При збереженні зображення у файлі
завжди потрібно вказувати тип формату. Крім того, для кожного «чужого»
графічного формату відкриваються додаткові діалогові вікна, за допомогою яких
користувач встановлює параметри формату (кількість використовуваних кольорів,
необхідність стиснення - для BMP і TIFF, коефіцієнт стиснення - для JPEG та
ін.).
Перетворення
файлів з одного формату в інший
Необхідність
перетворення графічних файлів з одного формату в інший може виникнути з різних
причин:
•
програма, з якою працює користувач, не сприймає формат його файлу;
•
дані, які треба передати іншому користувачеві, повинні бути представлені в
спеціальному форматі.
Перетворення
файлів з растрового формату у векторний
Існують
два способи перетворення файлів з растрового формату у векторний:
1)
перетворення растрового файлу в растровий об'єкт векторного зображення;
2)
трасування растрового зображення для створення векторного об'єкта.
Перший
спосіб використовується в програмі CorelDRAW!, яка, як правило, успішно
імпортує файли різних растрових форматів. Наприклад, якщо растрова картинка
містить 16 мільйонів кольорів, CorelDRAW! покаже зображення, наближене за
якістю до телевізійного. Однак імпортований растровий об'єкт може ставати
досить великим навіть у тому випадку, якщо вихідний файл невеликий. У файлах
растрових форматів інформація зберігається досить ефективно, так як часто
використовуються методи стиснення. Векторні формати такої здатності не мають.
Тому растровий об'єкт, що зберігається у векторному файлі, може значно
перевершувати за розмірами вихідний растровий файл.
Особливість
другого способу перетворення растрового зображення у векторне полягає в
наступному. Програма трасування растрових зображень (наприклад, CorelTRACE!) шукає
групи пікселів з однаковим кольором, а потім створює відповідні їм векторні
об'єкти. Після трасування векторизованних малюнки можна редагувати як завгодно.
Справа в тому, що растрові малюнки, що мають чітко виражені межі між групами
пікселів однакового кольору, добре перетворюються в векторні. У той же час
результат трасування растрового зображення фотографічної якості зі складними
колірними переходами виглядає гірше за оригінал.
Перетворення
файлів одного векторного формату в інший
Векторні
формати містять описи ліній, дуг, зафарбованих областей, тексту тощо. У різних
векторних форматах ці об'єкти описуються по-різному. Коли програма намагається
перетворити один векторний формат в інший, вона діє як звичайний перекладачеві,
а саме:
•
зчитує опис об'єктів однією векторному мовою,
•
намагається перевести їх на мову нового формату.
Якщо
програма-перекладач зустрічає опис об'єкта, для якого в новому форматі немає
точної відповідності, цей об'єкт може бути або описаний схожими командами нової
мови, або не описаний взагалі. Таким чином, деякі частини малюнка можуть
спотворитися або зникнути. Все залежить від складності вихідного зображення.
Перетворення
файлів з векторного формату в растровий
Перетворення
зображень з векторного формату в растровий (цей процес часто називають
раструванням векторного зображення) зустрічається дуже часто. Перш, ніж
розмістити мальовану (векторну) картинку на фотографії, її необхідно
експортувати в растровий формат.
Кожен
раз, коли векторний малюнок направляється на пристрій виведення (зокрема,
монітор або принтер), він піддається раструванню - перетворенню в набір
відеопікселей або точок.
При
експорті векторних файлів в растровий формат може бути втрачена інформація,
пов'язана з кольором вихідного зображення. Це пояснюється тим, що в ряді
растрових форматів кількість кольорів обмежена (наприклад, формат GIF
використовує не більше 256 кольорів).
Перетворення
файлів одного растрового формату в інший
Цей
вид перетворення зазвичай найпростіший і полягає в читанні інформації з
вихідного файлу і запису її в новому файлі, де дані про розмір зображення,
бітову глибину і колір кожного відеопікселя зберігаються іншим способом. Якщо
старий формат використовує більше кольорів, ніж новий, то можлива втрата
інформації. Перетворення файлу з 24-бітовим кольором (16777216 кольорів) у файл
з 8-бітовим кольором (256 кольорів) вимагає зміни кольору майже кожного
пікселя. У найпростішому випадку це робиться так: для кожного пікселя вихідного
файлу шукається найбільш близький до нього колір з нового обмеженого набору
кольорів. При такому способі можливі небажані ефекти, коли частина малюнка, яка
містить велику кількість елементів, виявляється зафарбованою одним кольором або
коли плавні переходи кольору стають різкими.
Для
перетворення файлів з одного формату в інший використовуються спеціальні
програми - перетворювачі (конвертори) форматів. Однак більшість графічних
програм (CorelDRAW!, Adobe Illustrator, Adobe PhotoShop і ін.) можуть читати і
створювати файли різних форматів, тобто перетворювачами форматів.
Немає коментарів:
Дописати коментар