Відмінності між версіями «Мультимедия ЛАБ 3 КН17Б Бондаренко Р.»
2707156 (обговорення • внесок) (Створена сторінка: '''''<font color='green' size=6>Формати графічних файлів</font>'''''<br /> ==Растрові формати== === Формат BMP === О...) |
2707156 (обговорення • внесок) |
||
(не показано 19 проміжних версій цього учасника) | |||
Рядок 2: | Рядок 2: | ||
==Растрові формати== | ==Растрові формати== | ||
=== Формат BMP === | === Формат BMP === | ||
+ | [[Файл:Панда-кунг-фу.png|200px|thumb|left|BMP]] | ||
Офіційну інформацію щодо формату BMP можна знайти в MSDN або в довідці Microsoft Windows SDK (може йти в комплекті з деякими IDE). У файлі wingdi.h від компанії Microsoft є всі оголошення мовою C++, які стосуються даного формату. У цей файл не були включені оголошення типів, оскільки від цього він може стати занадто громіздким. До того ж офіційні оголошення деякі розробники можуть вважати незручними і тому їх необхідність сумнівна. Якщо вам будуть потрібні оригінальні імена констант, структур, типів та їх полів, то всі вони є в тексті даної статті. | Офіційну інформацію щодо формату BMP можна знайти в MSDN або в довідці Microsoft Windows SDK (може йти в комплекті з деякими IDE). У файлі wingdi.h від компанії Microsoft є всі оголошення мовою C++, які стосуються даного формату. У цей файл не були включені оголошення типів, оскільки від цього він може стати занадто громіздким. До того ж офіційні оголошення деякі розробники можуть вважати незручними і тому їх необхідність сумнівна. Якщо вам будуть потрібні оригінальні імена констант, структур, типів та їх полів, то всі вони є в тексті даної статті. | ||
Рядок 21: | Рядок 22: | ||
=== Формат JPG === | === Формат JPG === | ||
+ | [[Файл:Военком-захаров-оригинал.jpg|200px|thumb|left|JPG]] | ||
+ | Цей формат використовує ефективні алгоритми стиснення даних, що дає змогу зменшити розмір графічних файлів. Але це досягається за рахунок втрати частини даних і погіршення якості зображення. Даний формат доцільно використовувати для зберігання багатокольорових зображень із плавними переходами між кольорами, де втрата якості малопомітна. Для файлів цього формату стандартним розширенням імені є JPG або JPEG. Практично всі редактори растрової графіки можуть працювати з файлами цього формату. Підтримуються зображення з лінійним розміром не більше 65535 × 65535 пікселів. | ||
+ | |||
+ | Розширення файлу: .jpeg, .jpg, .jpe, .jfif, .jfi, .jif | ||
=== Формат GIF === | === Формат GIF === | ||
+ | [[Файл:BurstGIF_jailbeak-tweak-for-iphone.gif|200px|thumb|right|GIF]] | ||
+ | 8-бітний растровий графічний формат, що використовує до 256 чітких кольорів із 24-бітного діапазону RGB. Формат було розроблено компанією CompuServe у 1987 році, і з того часу набув широкої популярності у всесвітній павутині завдяки своїй відносній простоті та мобільності. Одними з головних особливостей формату є підтримка анімації та прозорості. | ||
+ | Для стискання файлів використовує LZW-компресію. | ||
− | + | Існує дві специфікації формату GIF — GIF 87a і GIF 89a. | |
+ | Перша специфікація була створена в 1987 компанією CompuServe для заміни застарілого формату RLE. GIF став популярним під час розвитку інтернету, оскільки, на відміну від інших форматів, дозволяв використовувати більш компактні за розміром файлу зображення на веб-сторінках. Хоча до теперішнього часу формат багато в чому застарів, і для його заміни створені формат PNG для статичних зображень та APNG для анімованих зображень, він як і раніше широко використовується. GIF-формат залишається затребуваним при створенні анімації. | ||
+ | |||
+ | === Формат PNG === | ||
+ | [[Файл:Trump.png|200px|thumb|left|PNG]] | ||
+ | растровий формат збереження графічної інформації, що використовує стиснення без втрат. PNG був створений для заміни формату GIF графічним форматом, який не потребує ліцензії для використання. Зазвичай файли формату PNG мають розширення .png та MIME тип — image/png. | ||
+ | Формат PNG зберігає інформацію у стиснутому вигляді, але стиснення проводиться без втрат якості, на відміну від формату JPEG. Формат PNG спроектований на заміну застарілого і простішого формату GIF, а також подекуди, для заміни складнішого формату TIFF (див. офіційний сайт PNG або хронологічну сторінку). | ||
+ | Проблема підтримки 24-бітної (повної) прозорості зображення формату PNG у internet-браузері Internet Explorer виробництва Microsoft вирішена компанією-виробником цього програмного продукту у сьомій його версії. Попри це, існує ряд прийомів і технік, які дозволяють веб-майстрам уникнути цієї проблеми, застосовуючи різні скрипти і функції. Всі інші сучасні браузери успішно підтримують можливості формату PNG. | ||
==Векторні формати== | ==Векторні формати== | ||
=== Формат SVG === | === Формат SVG === | ||
+ | специфікація мови розмітки, що базується на XML, та формат файлів для двовимірної векторної графіки, як статичної, так і анімованої та інтерактивної. SVG може бути виключно декларативним, або містити описи сценаріїв. Зображення можуть містити зовнішні посилання шляхом застосування простих XLink-ів.[2] Ця специфікація є відкритим стандартом, розробленим робочою групою англ. SVG Working Group організації World Wide Web Consortium. | ||
+ | Текстовий формат — файли SVG можна читати і редагувати за допомогою звичайних текстових редакторів. Працювати з SVG без засобів візуального програмування не складніше ніж з HTML. При прогляданні документів SVG, що містять графіку, є доступ до проглядання коду файлу, що проглядається, і можливість збереження всього документу. Крім того, SVG файли зазвичай виходять меншими за розміром, ніж порівнянні за якістю зображення у форматах JPEG або GIF, а також добре піддаються стисненню. | ||
+ | Масштабованість — SVG є векторним форматом. Існує можливість збільшити будь-яку частину зображення SVG без втрати якості. Додатково, до елементів SVG документу можливо застосовувати фільтри — спеціальні модифікатори для створення ефектів, подібних вживаним при обробці растрових зображень (розмиття, витискування, складні системи трансформації тощо). В тексті SVG-коду фільтри описуються тегами, візуалізацію яких забезпечує засіб перегляду, що не впливає на розмір початкового файлу, забезпечуючи при цьому необхідну ілюстративну виразність. | ||
+ | Широко доступне використання растрової графіки в SVG документах. Є можливість вставляти елементи із зображеннями у форматах PNG, GIF або JPG. | ||
+ | Текст в графіці SVG є текстом, а не зображенням, тому його можна виділяти і копіювати, він індексується пошуковими машинами, не потрібно створювати додаткові метафайли для пошукових серверів. | ||
+ | Анімація реалізована в SVG за допомогою мови SMIL (Synchronized Multimedia Integration Language), розробленої також консорціумом W3C. Підтримуються скриптові мови на основі специфікації ECMAScript. SVG-елементами можна керувати за допомогою JavaScript. Застосування скриптів і анімації в SVG дозволяє створювати динамічну і інтерактивну графіку. У SVG забезпечується подієва модель, відстежуються події (завантаження сторінки, зміна її параметрів, події миші, клавіатури тощо). Анімація може запускатися по певній події (наприклад «onmouseover» або «onclick»), що додає графіці інтерактивність. У кожного елементу є свої власні події, до яких можна прив'язувати окремі скрипти. | ||
+ | SVG — відкритий стандарт. На відміну від деяких інших форматів, SVG не є чиєюсь власністю. | ||
+ | SVG документи легко інтегруються з HTML і XHTML документами. Зовнішні SVG підключаються через тег <embed>, значення атрибуту src ім'я файлу з розширенням «.svg», що містить розмітку SVG. Атрибути width і height визначають розміри області SVG по горизонталі і по вертикалі. Елементи SVG сумісні з HTML і DHTML. | ||
+ | Сумісність з CSS (англ. Cascading Style Sheets). Відображенням (форматуванням і декоруванням) SVG елементів можна управляти за допомогою таблиці стилів CSS 2.0 і її розширень, або безпосередньо за допомогою атрибутів SVG елементів. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | + | === Приклад не стисненого фото === |
+ | [[Файл:Несжатое-фото-волк.jpg|400px|thumb|left|Фото без стиснення]] | ||
− | + | ==Таблиця порівняння форматів== | |
− | ''' | + | {| class="wikitable" border="2" width="50%" |
+ | | style="background-color:silver;" | '''Формат зображення''' | ||
+ | | style="background-color:silver;" |'''Доступні кольори''' | ||
+ | | style="background-color:silver;" |'''Стиснення''' | ||
+ | | style="background-color:silver;" |'''Розмір файла(середнє значення)''' | ||
+ | | style="background-color:silver;" |'''Найкраще підходить для''' | ||
+ | |- | ||
+ | |'''BMP''' | ||
+ | |Змінна величина | ||
+ | |Без втрат | ||
+ | |Великий(<2Мб) | ||
+ | |<nowiki>-</nowiki> | ||
+ | |- | ||
+ | |'''JPEG''' | ||
+ | |16 мільйонів | ||
+ | |З втратами | ||
+ | |Невеликий(<1Мб) | ||
+ | |Інтернета та зберігання | ||
+ | |- | ||
+ | |'''GIF''' | ||
+ | |256 | ||
+ | |Без втрат | ||
+ | |Невеликий(<1Мб) | ||
+ | |Анімації | ||
+ | |- | ||
+ | |'''PNG''' | ||
+ | |16 мільйонів + прозорість | ||
+ | |Без втрат | ||
+ | |Великий(<2Мб) | ||
+ | |Інтернет, зберігання та редактування | ||
+ | |- | ||
+ | |} |
Поточна версія на 23:27, 23 лютого 2020
Формати графічних файлів
Зміст
Растрові формати
Формат BMP
Офіційну інформацію щодо формату BMP можна знайти в MSDN або в довідці Microsoft Windows SDK (може йти в комплекті з деякими IDE). У файлі wingdi.h від компанії Microsoft є всі оголошення мовою C++, які стосуються даного формату. У цей файл не були включені оголошення типів, оскільки від цього він може стати занадто громіздким. До того ж офіційні оголошення деякі розробники можуть вважати незручними і тому їх необхідність сумнівна. Якщо вам будуть потрібні оригінальні імена констант, структур, типів та їх полів, то всі вони є в тексті даної статті.
Максимальний розмір неподільних комірок (за винятком полів бітових структур): 32 біта і тому формат можна класифікувати як 32-бітний. Винятком можуть бути 64-бітові пікселі, але значення їх каналів можна обробляти і 16-бітними словами. Порядок байтів в 16-бітних і 32-бітових комірках усюди від меншого до більшого. Цілі числа записуються в прямому коді, зі знаком — в доповняльному. Якщо порівнювати з апаратними архітектурами, то порядок байтів і формат чисел відповідає архітектурі x86.
Можна зустріти чотири числових типи:
BYTE — 8-бітове беззнаковое ціле. WORD —16-бітове беззнаковое ціле. DWORD — 32-бітове беззнаковое ціле. LONG —32-бітове ціле зі знаком. У форматі Windows Bitmap під структурами розуміється блок з послідовними комірками різного фіксованого розміру, у яких є умовні імена (є в багатьох мовах програмування), а не щось складніше (наприклад, потік команд довільного розміру). BMP-файл складається з чотирьох частин:
1.Заголовок файлу (BITMAPFILEHEADER) 2.Заголовок зображення (BITMAPINFOHEADER, може бути відсутнім). BITMAPV4HEADER (Win95, NT4.0) BITMAPV5HEADER (Win98/Me, 2000/XP) 3.Палітра (може бути відсутнім) 4.Саме зображення
Формат JPG
Цей формат використовує ефективні алгоритми стиснення даних, що дає змогу зменшити розмір графічних файлів. Але це досягається за рахунок втрати частини даних і погіршення якості зображення. Даний формат доцільно використовувати для зберігання багатокольорових зображень із плавними переходами між кольорами, де втрата якості малопомітна. Для файлів цього формату стандартним розширенням імені є JPG або JPEG. Практично всі редактори растрової графіки можуть працювати з файлами цього формату. Підтримуються зображення з лінійним розміром не більше 65535 × 65535 пікселів.
Розширення файлу: .jpeg, .jpg, .jpe, .jfif, .jfi, .jif
Формат GIF
8-бітний растровий графічний формат, що використовує до 256 чітких кольорів із 24-бітного діапазону RGB. Формат було розроблено компанією CompuServe у 1987 році, і з того часу набув широкої популярності у всесвітній павутині завдяки своїй відносній простоті та мобільності. Одними з головних особливостей формату є підтримка анімації та прозорості.
Для стискання файлів використовує LZW-компресію.
Існує дві специфікації формату GIF — GIF 87a і GIF 89a.
Перша специфікація була створена в 1987 компанією CompuServe для заміни застарілого формату RLE. GIF став популярним під час розвитку інтернету, оскільки, на відміну від інших форматів, дозволяв використовувати більш компактні за розміром файлу зображення на веб-сторінках. Хоча до теперішнього часу формат багато в чому застарів, і для його заміни створені формат PNG для статичних зображень та APNG для анімованих зображень, він як і раніше широко використовується. GIF-формат залишається затребуваним при створенні анімації.
Формат PNG
растровий формат збереження графічної інформації, що використовує стиснення без втрат. PNG був створений для заміни формату GIF графічним форматом, який не потребує ліцензії для використання. Зазвичай файли формату PNG мають розширення .png та MIME тип — image/png. Формат PNG зберігає інформацію у стиснутому вигляді, але стиснення проводиться без втрат якості, на відміну від формату JPEG. Формат PNG спроектований на заміну застарілого і простішого формату GIF, а також подекуди, для заміни складнішого формату TIFF (див. офіційний сайт PNG або хронологічну сторінку). Проблема підтримки 24-бітної (повної) прозорості зображення формату PNG у internet-браузері Internet Explorer виробництва Microsoft вирішена компанією-виробником цього програмного продукту у сьомій його версії. Попри це, існує ряд прийомів і технік, які дозволяють веб-майстрам уникнути цієї проблеми, застосовуючи різні скрипти і функції. Всі інші сучасні браузери успішно підтримують можливості формату PNG.
Векторні формати
Формат SVG
специфікація мови розмітки, що базується на XML, та формат файлів для двовимірної векторної графіки, як статичної, так і анімованої та інтерактивної. SVG може бути виключно декларативним, або містити описи сценаріїв. Зображення можуть містити зовнішні посилання шляхом застосування простих XLink-ів.[2] Ця специфікація є відкритим стандартом, розробленим робочою групою англ. SVG Working Group організації World Wide Web Consortium.
Текстовий формат — файли SVG можна читати і редагувати за допомогою звичайних текстових редакторів. Працювати з SVG без засобів візуального програмування не складніше ніж з HTML. При прогляданні документів SVG, що містять графіку, є доступ до проглядання коду файлу, що проглядається, і можливість збереження всього документу. Крім того, SVG файли зазвичай виходять меншими за розміром, ніж порівнянні за якістю зображення у форматах JPEG або GIF, а також добре піддаються стисненню. Масштабованість — SVG є векторним форматом. Існує можливість збільшити будь-яку частину зображення SVG без втрати якості. Додатково, до елементів SVG документу можливо застосовувати фільтри — спеціальні модифікатори для створення ефектів, подібних вживаним при обробці растрових зображень (розмиття, витискування, складні системи трансформації тощо). В тексті SVG-коду фільтри описуються тегами, візуалізацію яких забезпечує засіб перегляду, що не впливає на розмір початкового файлу, забезпечуючи при цьому необхідну ілюстративну виразність. Широко доступне використання растрової графіки в SVG документах. Є можливість вставляти елементи із зображеннями у форматах PNG, GIF або JPG. Текст в графіці SVG є текстом, а не зображенням, тому його можна виділяти і копіювати, він індексується пошуковими машинами, не потрібно створювати додаткові метафайли для пошукових серверів. Анімація реалізована в SVG за допомогою мови SMIL (Synchronized Multimedia Integration Language), розробленої також консорціумом W3C. Підтримуються скриптові мови на основі специфікації ECMAScript. SVG-елементами можна керувати за допомогою JavaScript. Застосування скриптів і анімації в SVG дозволяє створювати динамічну і інтерактивну графіку. У SVG забезпечується подієва модель, відстежуються події (завантаження сторінки, зміна її параметрів, події миші, клавіатури тощо). Анімація може запускатися по певній події (наприклад «onmouseover» або «onclick»), що додає графіці інтерактивність. У кожного елементу є свої власні події, до яких можна прив'язувати окремі скрипти. SVG — відкритий стандарт. На відміну від деяких інших форматів, SVG не є чиєюсь власністю. SVG документи легко інтегруються з HTML і XHTML документами. Зовнішні SVG підключаються через тег <embed>, значення атрибуту src ім'я файлу з розширенням «.svg», що містить розмітку SVG. Атрибути width і height визначають розміри області SVG по горизонталі і по вертикалі. Елементи SVG сумісні з HTML і DHTML. Сумісність з CSS (англ. Cascading Style Sheets). Відображенням (форматуванням і декоруванням) SVG елементів можна управляти за допомогою таблиці стилів CSS 2.0 і її розширень, або безпосередньо за допомогою атрибутів SVG елементів.
Приклад не стисненого фото
Таблиця порівняння форматів
Формат зображення | Доступні кольори | Стиснення | Розмір файла(середнє значення) | Найкраще підходить для |
BMP | Змінна величина | Без втрат | Великий(<2Мб) | - |
JPEG | 16 мільйонів | З втратами | Невеликий(<1Мб) | Інтернета та зберігання |
GIF | 256 | Без втрат | Невеликий(<1Мб) | Анімації |
PNG | 16 мільйонів + прозорість | Без втрат | Великий(<2Мб) | Інтернет, зберігання та редактування |