Відмінності між версіями «ЛР№2-3»
(не показані 3 проміжні версії цього учасника) | |||
Рядок 1: | Рядок 1: | ||
==BMP== | ==BMP== | ||
− | BMP (Bitmap) — bitmap-формат або DIB (англ. device independent bitmap)- формат файлу зображень растрової графіки, в якому зображення зберігається у вигляді двовимірного масиву пікселів. Запам'ятовує одно і багатокольорові (RGB) ілюстрації у формі Pixel. BMP-формат використовується в операційній системи Windows та OS/2. Дані цього формату включаються в двійкові файли ресурсів RES і в PE-файли. | + | ''BMP (Bitmap)'' — bitmap-формат або DIB (англ. device independent bitmap)- формат файлу зображень растрової графіки, в якому зображення зберігається у вигляді двовимірного масиву пікселів. Запам'ятовує одно і багатокольорові (RGB) ілюстрації у формі Pixel. BMP-формат використовується в операційній системи Windows та OS/2. Дані цього формату включаються в двійкові файли ресурсів RES і в PE-файли. |
Формат файлу BMP здатний зберігати 2D цифрові зображення довільної ширини, висоти та роздільної здатності, як монохромні так і кольорові, різної глибини кольору, і, необов'язково, зі стисненням данних, альфа-каналом та керуванням кольору. Специфікація Windows Metafile (WMF) охоплює формат файлу BMP. Серед іншого, wingdi.h визначає BMP-константи та структури. | Формат файлу BMP здатний зберігати 2D цифрові зображення довільної ширини, висоти та роздільної здатності, як монохромні так і кольорові, різної глибини кольору, і, необов'язково, зі стисненням данних, альфа-каналом та керуванням кольору. Специфікація Windows Metafile (WMF) охоплює формат файлу BMP. Серед іншого, wingdi.h визначає BMP-константи та структури. | ||
− | + | == JPEG (.jpg .jpeg .jfif) == | |
− | * | + | Вимовляється «джейпег» і розшифровується як '''Joint Photographic Experts Group''' ( Об'єднана група експертів з фотозображення ) - збори представників великих промислових підприємств, яке розробило набір методів стиснення (як з втратами , так і без втрат) напівтонових фотозображень. |
+ | |||
+ | Чинна специфікація JPEG доступна у вигляді стандарту ISO. Чернетка стандарту, а також іншу корисну інформацію можна знайти в книзі Вільяма Пеннібейкера (William B. Pennebaker) і Джоан Мітчел (Joan L. Mitchell) «JPEG: Still Image Data Compression Standard» (New York : Van Nostrand Reinhold , 1993). | ||
+ | |||
+ | Відповідно до стандарту JPEG не є форматом файлів. Правильна назва того, що зазвичай називають форматом файлів JPEG - JPEG File Interchange Format ( JFIF , формат обміну файлами JPEG). JFIF включає метод стиснення JPEG з втратами і поряд з GIF став одним із двох найпопулярніших форматів графіки в Web (в специфікації HTML немає спеціальної згадки ні GIF , ні JPEG , і все ж вони стали стандартами Web-графіки де-факто). | ||
+ | |||
+ | Стиснення за стандартом JPEG засноване на алгоритмі пірамідального вейвлет-перетворення. Обробка вейвлет-коефіцієнтів здійснюється методом контекстно-залежного біт-орієнтованого арифметичного кодування. | ||
+ | |||
+ | Основним недоліком формату вважають появу так званих "блочних структур". Це спровоковано тим що для спрощення обробки файлу фотографами його структура складається з матриці тайлів, кожен з яких зберігається і редагується як окреме зображення. З одного боку це спрощує роботу з форматом, з іншого ускладнює його стиснення та посилює втрати. | ||
+ | |||
+ | == GIF (.gif) == | ||
+ | Вимовляється «джіф». Був розроблений наприкінці 1980-х для мережі CompuServe (однієї з перших інтерактивних інформаційних служб) і залишається одним із найпопулярніших форматів графіки в World Wide Web. Підтримує до 256 колорів. Документи Gif87a.txt і Gif98a.txt, що описують даний формат файлів, широко поширені в Інтернеті. | ||
+ | |||
+ | Специфікація GIF включає елементарну (але популярну) функцію анімації. Вона представляє собою послідовність з декількох статичних кадрів та інформації про час, на протязі якого кожен кадр повинен відображатися на екрані. Анімацію можна зробити циклічною. | ||
+ | |||
+ | У форматі GIF застосовується LZW-стиснення. Його суть полягає у виявленні "фраз" - послідовностей пікселів з повторенням кольорів. Їх початкові позиції і довжина заносяться в таблицю, і в відповідність їм ставиться коротший ключ. Таблиця і набір ключів і формують кінцевий стиснений файл. Такий алгоритм забезпечує стиснення без втрат, проте ефективний лише для зображень з повторенням пікселів у горизонтальному ряду. | ||
+ | |||
+ | Однією з особливостей GIF є черезрядкове збереження зображення. Рядки зображення діляться на групи, потім записуються перші рядки кожної з груп, далі другі рядки, треті... Завдяки цьому можна мати представлення про зображення повністю маючи лише його частину. Таким чином черезрядковий GIF під час завантаження відобраається в браузері поетапно, покращуючи свою якість з кожним етапом. | ||
+ | |||
+ | |||
+ | == PNG (.png) == | ||
+ | Вимовляється «пінг». '''Portable Network Graphics''' - це формат стиснення без втрат , розроблений під протекцією World Wide Web Consortium (W3C) в якості безкоштовної і не вимагає ліцензування, альтернатива GIF. Більшість сучасних Web -браузерів підтримують PNG , а також GIF і JPEG. Якщо потрібно стискати нефотографічне зображення і ви не хочете використовувати GIF, краще рішення - задіяти PNG. | ||
+ | |||
+ | '''Переваги PNG над GIF:''' | ||
+ | *Підтримка глибини кольору, що значно перевищує можливості 8-ми бітного GIF. | ||
+ | *Опціональна підтримка альфа-каналу. | ||
+ | *Можливості гамма-корекції. | ||
+ | *Двовимірна черезрядкова розгортка. | ||
+ | *Можливість розширення формату користувацькими блоками. | ||
+ | |||
+ | Формат PNG володіє більш високим ступенем стиснення для файлів з великою кількістю кольорів, ніж GIF, але різниця складає близько 5-25 %, що недостатньо для абсолютної переваги формату, так як невеликі 2 - 16 - бітні файли формат GIF стискає з не меншою ефективністю. | ||
+ | |||
+ | PNG є хорошим форматом для редагування зображень, навіть для зберігання проміжних стадій редагування, так як відновлення і перезбереження зображення проходять без втрат в якості. Також, на відміну, наприклад, від TIFF, специфікація PNG не дозволяє авторам реалізацій вибирати, які можливості вони збираються реалізувати. Тому будь-яке збережене зображення PNG може бути прочитане в будь-якому іншому додатку, що підтримує PNG. | ||
+ | |||
+ | == SVG (.svg) == | ||
+ | '''Scalable Vector Graphics''' - мова розмітки, що розробляється W3C консорціумом c 1999 року. Мова служить для опису графічних даних на веб-сторінці у вигляді тексту (XML). | ||
+ | |||
+ | Термін SVG може означати не тільки саму мова розмітки, але й формат одержуваного зображення . | ||
+ | |||
+ | На SVG можна створювати нескладні векторні і змішані векторно-растрові зображення. Мова розроблялася, грунтуючись на ідеї технології VML від Microsoft і PGML. На відміну від VML, SVG не є чиєюсь власністю, повністю відкритий і безкоштовний. Поточна версія - 1.1 , випущена в 2001 році, зараз йде розробка і затвердження версії 1.2. | ||
+ | |||
+ | SVG малюнок складається з набору геометричних фігур, описаних у форматі XML: лінія, еліпс, багатокутник і т.п. | ||
+ | |||
+ | Основною перевагою SVG перед іншими форматами, застосовуваними в інтернеті, є те, що SVG картинка представляє з себе ніщо інше, як простий текстовий файл. Такий файл можна відкрити і відредагувати будь-яким текстовим редактором, а також серверним скриптом. Також SVG може похвалитися підтримкою анімації, причому не покадрової, як в GIF, а з дуже широкою системою управління, заснованої на мові SMIL. Мабуть, єдиним істотним недоліком SVG є велика вага складних малюнків, але дану неприємність легко усунути за допомогою технології gzip стиснення. | ||
+ | |||
+ | SVG в поєднанні з іншими технологіями HTML5 і JavaScript цілком може виступати конкурентом Flash з його Action Script. Варто враховувати, що Flash є всього-лише стороннім плагіном до браузера, а SVG невід'ємною частиною веб-сторінки. | ||
+ | |||
+ | == Порівняльна таблиця растрових форматів == | ||
+ | {|border=5 | ||
+ | | '''Формат''' | ||
+ | | '''BMP''' | ||
+ | | '''GIF''' | ||
+ | | '''PNG''' | ||
+ | | '''JPEG''' | ||
+ | |- | ||
+ | | '''Розмір файлу''' | ||
+ | | Великий | ||
+ | | Малий | ||
+ | | Норма | ||
+ | | Норма | ||
+ | |- | ||
+ | | '''Стиснення''' | ||
+ | | Не підтримується | ||
+ | | Без втрат | ||
+ | | З втратами та без | ||
+ | | З втратами та без (незначне) | ||
+ | |- | ||
+ | | '''Призначення''' | ||
+ | | В ОС Windows для забезпечення незалежності від апаратури | ||
+ | | Графіка та елементарна анімація в мережі | ||
+ | | Графіка в мережі (GNU альтернатива для GIF) | ||
+ | | Збереження і обробка фотографій | ||
+ | |- | ||
+ | | '''Глибина кольору''' | ||
+ | | 1 - 64 біт/піксель | ||
+ | | 1 - 8 біт/піксель | ||
+ | | 8 - 64 біт/піксель | ||
+ | | 8 - 64 біт/піксель | ||
+ | |- | ||
+ | | '''Альфа-канал''' | ||
+ | | відсутній | ||
+ | | наявний | ||
+ | | опциональний | ||
+ | | відсутній | ||
+ | |- | ||
+ | | '''Анімація''' | ||
+ | | не підтримується | ||
+ | | покадрова | ||
+ | | покадрова в APNG | ||
+ | | не підтримується | ||
+ | |- | ||
+ | |} |
Поточна версія на 15:14, 20 лютого 2017
Зміст
BMP
BMP (Bitmap) — bitmap-формат або DIB (англ. device independent bitmap)- формат файлу зображень растрової графіки, в якому зображення зберігається у вигляді двовимірного масиву пікселів. Запам'ятовує одно і багатокольорові (RGB) ілюстрації у формі Pixel. BMP-формат використовується в операційній системи Windows та OS/2. Дані цього формату включаються в двійкові файли ресурсів RES і в PE-файли.
Формат файлу BMP здатний зберігати 2D цифрові зображення довільної ширини, висоти та роздільної здатності, як монохромні так і кольорові, різної глибини кольору, і, необов'язково, зі стисненням данних, альфа-каналом та керуванням кольору. Специфікація Windows Metafile (WMF) охоплює формат файлу BMP. Серед іншого, wingdi.h визначає BMP-константи та структури.
JPEG (.jpg .jpeg .jfif)
Вимовляється «джейпег» і розшифровується як Joint Photographic Experts Group ( Об'єднана група експертів з фотозображення ) - збори представників великих промислових підприємств, яке розробило набір методів стиснення (як з втратами , так і без втрат) напівтонових фотозображень.
Чинна специфікація JPEG доступна у вигляді стандарту ISO. Чернетка стандарту, а також іншу корисну інформацію можна знайти в книзі Вільяма Пеннібейкера (William B. Pennebaker) і Джоан Мітчел (Joan L. Mitchell) «JPEG: Still Image Data Compression Standard» (New York : Van Nostrand Reinhold , 1993).
Відповідно до стандарту JPEG не є форматом файлів. Правильна назва того, що зазвичай називають форматом файлів JPEG - JPEG File Interchange Format ( JFIF , формат обміну файлами JPEG). JFIF включає метод стиснення JPEG з втратами і поряд з GIF став одним із двох найпопулярніших форматів графіки в Web (в специфікації HTML немає спеціальної згадки ні GIF , ні JPEG , і все ж вони стали стандартами Web-графіки де-факто).
Стиснення за стандартом JPEG засноване на алгоритмі пірамідального вейвлет-перетворення. Обробка вейвлет-коефіцієнтів здійснюється методом контекстно-залежного біт-орієнтованого арифметичного кодування.
Основним недоліком формату вважають появу так званих "блочних структур". Це спровоковано тим що для спрощення обробки файлу фотографами його структура складається з матриці тайлів, кожен з яких зберігається і редагується як окреме зображення. З одного боку це спрощує роботу з форматом, з іншого ускладнює його стиснення та посилює втрати.
GIF (.gif)
Вимовляється «джіф». Був розроблений наприкінці 1980-х для мережі CompuServe (однієї з перших інтерактивних інформаційних служб) і залишається одним із найпопулярніших форматів графіки в World Wide Web. Підтримує до 256 колорів. Документи Gif87a.txt і Gif98a.txt, що описують даний формат файлів, широко поширені в Інтернеті.
Специфікація GIF включає елементарну (але популярну) функцію анімації. Вона представляє собою послідовність з декількох статичних кадрів та інформації про час, на протязі якого кожен кадр повинен відображатися на екрані. Анімацію можна зробити циклічною.
У форматі GIF застосовується LZW-стиснення. Його суть полягає у виявленні "фраз" - послідовностей пікселів з повторенням кольорів. Їх початкові позиції і довжина заносяться в таблицю, і в відповідність їм ставиться коротший ключ. Таблиця і набір ключів і формують кінцевий стиснений файл. Такий алгоритм забезпечує стиснення без втрат, проте ефективний лише для зображень з повторенням пікселів у горизонтальному ряду.
Однією з особливостей GIF є черезрядкове збереження зображення. Рядки зображення діляться на групи, потім записуються перші рядки кожної з груп, далі другі рядки, треті... Завдяки цьому можна мати представлення про зображення повністю маючи лише його частину. Таким чином черезрядковий GIF під час завантаження відобраається в браузері поетапно, покращуючи свою якість з кожним етапом.
PNG (.png)
Вимовляється «пінг». Portable Network Graphics - це формат стиснення без втрат , розроблений під протекцією World Wide Web Consortium (W3C) в якості безкоштовної і не вимагає ліцензування, альтернатива GIF. Більшість сучасних Web -браузерів підтримують PNG , а також GIF і JPEG. Якщо потрібно стискати нефотографічне зображення і ви не хочете використовувати GIF, краще рішення - задіяти PNG.
Переваги PNG над GIF:
- Підтримка глибини кольору, що значно перевищує можливості 8-ми бітного GIF.
- Опціональна підтримка альфа-каналу.
- Можливості гамма-корекції.
- Двовимірна черезрядкова розгортка.
- Можливість розширення формату користувацькими блоками.
Формат PNG володіє більш високим ступенем стиснення для файлів з великою кількістю кольорів, ніж GIF, але різниця складає близько 5-25 %, що недостатньо для абсолютної переваги формату, так як невеликі 2 - 16 - бітні файли формат GIF стискає з не меншою ефективністю.
PNG є хорошим форматом для редагування зображень, навіть для зберігання проміжних стадій редагування, так як відновлення і перезбереження зображення проходять без втрат в якості. Також, на відміну, наприклад, від TIFF, специфікація PNG не дозволяє авторам реалізацій вибирати, які можливості вони збираються реалізувати. Тому будь-яке збережене зображення PNG може бути прочитане в будь-якому іншому додатку, що підтримує PNG.
SVG (.svg)
Scalable Vector Graphics - мова розмітки, що розробляється W3C консорціумом c 1999 року. Мова служить для опису графічних даних на веб-сторінці у вигляді тексту (XML).
Термін SVG може означати не тільки саму мова розмітки, але й формат одержуваного зображення .
На SVG можна створювати нескладні векторні і змішані векторно-растрові зображення. Мова розроблялася, грунтуючись на ідеї технології VML від Microsoft і PGML. На відміну від VML, SVG не є чиєюсь власністю, повністю відкритий і безкоштовний. Поточна версія - 1.1 , випущена в 2001 році, зараз йде розробка і затвердження версії 1.2.
SVG малюнок складається з набору геометричних фігур, описаних у форматі XML: лінія, еліпс, багатокутник і т.п.
Основною перевагою SVG перед іншими форматами, застосовуваними в інтернеті, є те, що SVG картинка представляє з себе ніщо інше, як простий текстовий файл. Такий файл можна відкрити і відредагувати будь-яким текстовим редактором, а також серверним скриптом. Також SVG може похвалитися підтримкою анімації, причому не покадрової, як в GIF, а з дуже широкою системою управління, заснованої на мові SMIL. Мабуть, єдиним істотним недоліком SVG є велика вага складних малюнків, але дану неприємність легко усунути за допомогою технології gzip стиснення.
SVG в поєднанні з іншими технологіями HTML5 і JavaScript цілком може виступати конкурентом Flash з його Action Script. Варто враховувати, що Flash є всього-лише стороннім плагіном до браузера, а SVG невід'ємною частиною веб-сторінки.
Порівняльна таблиця растрових форматів
Формат | BMP | GIF | PNG | JPEG |
Розмір файлу | Великий | Малий | Норма | Норма |
Стиснення | Не підтримується | Без втрат | З втратами та без | З втратами та без (незначне) |
Призначення | В ОС Windows для забезпечення незалежності від апаратури | Графіка та елементарна анімація в мережі | Графіка в мережі (GNU альтернатива для GIF) | Збереження і обробка фотографій |
Глибина кольору | 1 - 64 біт/піксель | 1 - 8 біт/піксель | 8 - 64 біт/піксель | 8 - 64 біт/піксель |
Альфа-канал | відсутній | наявний | опциональний | відсутній |
Анімація | не підтримується | покадрова | покадрова в APNG | не підтримується |