4.2. Формат графічних файлів png
Формат PNG призначений для збереження і передачі растрових зображень. Він дає змогу зберігати зображення, бітова глибина яких досягає 16 (у шкалі сірого кольору) або 48 (у truecolor-зображеннях) біт/піксель, а також 16 біт альфа-даних. Цей формат забезпечує поетапне відображення даних, збереження інформації про прозорість, а також здійснює кодування текстової інформації. У ньому використовується метод стиснення даних без втрат.
PNG - новий формат, орієнтований на фахівців в області комп'ютерної графіки. Він розроблений як альтернатива формату GIF (Graphics Interchange Format), використання якого розробниками електронних публікацій і графічних зображень передбачає попередню оплату майбутньої реалізації зображень у цьому форматі (ліцензування). Ліцензії потрібні також для поширення програм, що читають або записують файли у форматі GIF.
Мобільний і нескладний для реалізації формат PNG за основними функціональними можливостями перевершує формат GIF.
PNG і GIF89a мають спільні ознаки:
Дані формати організовані у вигляді потоку даних.
Забезпечується стиснення даних зображення без втрат.
Підтримується збереження індексованих зображень, що містять до 256 кольорів.
Забезпечується поетапне відображення з черезрядковою розгорткою.
Підтримується прозорість основного кольору.
Є можливість зберігати загальнодоступні і приватні користувацькі дані.
Обидва формати незалежні від апаратних засобів і операційної системи.
Разом з тим формат PNG наділений більш широкими функціональними можливостями в порівнянні з форматом GIF, наприклад:
Більш висока швидкість поетапного відображення з черезрядковою розгорткою.
Розширені можливості збереження користувальницьких даних.
Збереження truecolor-зображень глибиною до 48 біт/піксель.
Збереження зображень у шкалі сірого кольору глибиною до 16 біт/піксель.
Повний альфа-канал.
Гамма-індикатор.
CRC-метод виявлення порушень потоку даних.
Стандартний інструментарій для реалізації програм читання і запису PNG.
Стандартний набір еталонних зображень для тестування програм читання PNG.
Організація файлу PNG.
Файл (або потік даних) у форматі PNG складається з 8-байтового ідентифікаційного підпису і не менше трьох порцій даних. Порція - незалежний блок даних, структура якого визначена в специфікації формату. Порції мають власний ідентифікатор, що відповідає внутрішньому формату даних, і читаються послідовно від початку до кінця файлу (потоку даних).
Концепція блоків даних, або порцій, використовується також в інших форматах, найвідомішими серед яких є GIF, IFF і RIFF. Дані у файлах таких форматів звичайно читаються послідовно, а їхні фрагменти не потрібно шукати за зміщеннями від початку файлу. Такі формати добре підходять для спільного використання з мережевими протоколами та протоколами передачі даних і сприймаються як файлові (хоча точніше було б розглядати записану в таких форматах інформацію як потік даних, переспрямований у файл).
У PNG визначені чотири стандартні порції, що носять назву критичних порцій і повинні підтримуватися всіма програмами читання і запису формату PNG.
Порція заголовку (IHDR). Містить основну інформацію про дані зображення і повинна бути першою. У потоці даних PNG може існувати тільки одна порція заголовку.
Порція палітри (PLTE). Служить для збереження даних таблиці кольорів, пов'язаних з даними зображення. Ця порція присутня у файлі тільки тоді, коли дані зображення використовують колірну палітру, і розташовується перед порцією даних зображення.
Порція даних зображення (IDAT). Містить власне дані зображення. У потоці даних може бути кілька таких порцій, що записуються послідовно одна за іншою.
Завершувальна порція (IEND). Розташовуючись останньою, дана порція маркує закінчення PNG-файлу або потоку даних.
Стиснення даних. Дані PNG-зображень завжди зберігаються в стиснутому вигляді. Для стиснення використовується схема прогнозування піксельных значень із застосуванням одного з варіантів методу Deflate. Алгоритм Deflate (створений Філом Кацем) використовується в ужитку архівації файлів pkzip. Цей метод стиснення без втрат характерний високою швидкістю кодування/декодування, добре документований і поширюється безкоштовно; підтримується більшістю платформ і операційних систем.
Deflate є різновидом методу стиску LZW (запатентованого в 1981 р.). У Deflate використовується плаваюче вікно змінного розміру і сортовані хеш-таблиці, що дозволяють ідентифікувати комбінації даних і стискати їх за алгоритмом Хаффмана. У форматі PNG використовується різновид методу Deflate, у якому сортовані хеш-таблиці не використовуються, тому він не став суб'єктом патентних домагань або ліцензійних угод.
Перед стисненням дані зображення можна профільтрувати. Фільтрація нормалізує значення байтів у стрічці розгортки, що підвищує ефективність алгоритму стиску Deflate і дає змогу значно зменшити розмір даних.
- Розділ 1. Основні компоненти електронних видань
- Розділ 1. Основні компоненти електронних видань
- 1.1. Текстова інформація
- 1.2. Напівтонові і кольорові ілюстрації
- 1.3. Анімаційна графіка
- 1.4. Відеоінформація
- 1.5. Аудіоінформація
- Розділ 2. Технології гіпертекстових видань
- 2.1. Функції гіпертекстових електронних видань
- 2.2. Принципи побудови гіпертекстових видань
- 2.3. Математична модель гіпертексту
- 2.4. Гіпертекстові Web-документи
- 2.5. Підготовка публікацій у середовищі Adobe Acrobat
- 2.6. Технологія Help-файлів
- 2.7. Засіб доставки електронних видань
- 2.8. Класифікація і загальні принципи оформлення електронних видань
- Розділ 3. Цифрове представлення текстової інформації
- 3.1.Стандарти кодування символів ascii, ansi, кои-8 і unicode
- 3.2.Формат pdf
- 3.3.Формат розмітки тексту rtf
- Розділ 4. Графічні формати
- 4.1. Растровий формат gif
- 4.2. Формат графічних файлів png
- 4.3. Графічний формат jpeg
- 4.4. Формат tiff
- 5.1. Сімейство форматів mpeg
- 5.2. Звукові формати
- 5.3. Анімаційні файлові формати fli, flc, cel
- Розділ 6. Програми перегляду Web-публікацій
- 6.1. Доступ до Web-сторінки в Internet
- 6.2. Програма перегляду ms Internet Explorer
- 6.3. Програма перегляду Netscape Navigator
- 7.4. Мова JavaScript
- Визначення файлу для JavaScript
- Використання JavaScript-виразів в якості значень html-атрибутів
- Оголошення JavaScript-програми як оброблювача подій
- 7.5. Мова програмування сценаріїв php
- Завантаження файлів
- Регулярні вирази
- 7.6. Мова Perl
- 7.7. Мова моделювання віртуальної реальності vrml
- Розділ 8. Програмування Web-сторінок у мовному середовищі html
- 8.1. Структура і форматування html-документа
- 8.2. Таблиці
- 8.4. Форми
- 8.5. Фрейми
- 8.8. Гіперпосилання
- 8.9. Таблиці стилів
- Розділ 9. Автоматизація створення Web-публікацій. Програмний пакет Macromedia Dreamweaver
- 9.1. Призначення та функціональні можливості пакету
- 9.2. Структурна схема програмного пакету
- 9.3. Інтерфейс користувача і принципи його організації
- 9.4. Деякі типові процедури пакета Dreamweaver
- 9.4.1. Робота з текстом
- 9.4.2. Вставка зображень
- 9.4.3. Створення карти зображення
- 9.4.4. Робота з таблицями
- 9.4.5. Створення форм
- 9.4.6. Робота з фреймами
- 9.4.7. Робота із шарами
- 9.5. Використання інтерактивних можливостей і анімації
- 9.6. Створення Web-сайту
- Розділ 10. Програмний пакет ms FrontPage
- 10.1. Функціональні можливості програмного пакету
- 10.2.Структурна схема пакету
- Розділ 11. Створення мультимедійних видань. Програмний пакет Macromedia Director
- 11.1.Функціональні можливості програмного середовища
- 11.2. Інтерфейс користувача
- Література
- Технологія розробки електронних видань