ЛР№2-3 / Графічні формати / Обробка зображень та мультимедіа
Матеріал з Вікі ЦДУ
Версія від 13:50, 18 лютого 2016; Олійник Владислав (обговорення • внесок)
Тема: Графічні формати
Мета: Вивчення форматів графічних файлів
Завдання:
- Вивчити формат bmp. Розробити коротку специфікацію формату.
- Вивчити формат jpg. Розробити коротку специфікацію формату.
- Вивчити формат gif. Розробити коротку специфікацію формату.
- Вивчити формат png. Розробити коротку специфікацію формату.
- Вивчити один векторний формат (на Ваш вибір). Розробити коротку специфікацію формату.
- Зберегти в розглянутих форматах, файл нестисненого фото. Зробити таблицю порівняння форматів.
Формат BMP. Коротка специфікація формату.
BMP (Bitmap) — bitmap-формат або DIB (англ. device independent bitmap) - формат файлу зображень растрової графіки, в якому зображення зберігається у вигляді двовимірного масиву пікселів. Запам'ятовує одно і багатокольорові (RGB) ілюстрації. BMP-формат використовується в операційній системи Windows та OS/2.
Формат файлу BMP здатний зберігати 2D цифрові зображення довільної ширини, висоти та роздільної здатності, як монохромні так і кольорові, різної глибини кольору, і, необов'язково, зі стисненням данних, альфа-каналом та керуванням кольору.
Структура файлу:
BMP-файл складається з чотирьох частин:
- Заголовок файлу (BITMAPFILEHEADER)
- Заголовок зображення (BITMAPINFOHEADER, може бути відсутнім). BITMAPV4HEADER (Win95, NT4.0) BITMAPV5HEADER (Win98/Me, 2000/XP)
- Палітра (може бути відсутнім)
- Саме зображення
Назва структури | Розмір | Призначення | Коментар |
---|---|---|---|
Заголовок Bitmap-файлу | 14 байт | Зберігання основної інформації про зображення bitmap-файлу | Не потрібен після завантаження файлу в пам'ять |
DIB заголовок | Фіксований розмір | Для зберігання детальної інформація про зображення; визначення формату пікселя | Одразу після заголовку |
Додаткові бітові маски (Extra bit masks) | 12 або 16 байт | Визначення формату пікселя | Присутній лише якщо DIB-заголовок є BITMAPINFOHEADER`ом та метод стиснення заданий як BI_BITFIELDS чи BI_ALPHABITFIELDS |
Таблиця кольорів | Динамічний розмір | Визначення кольорів що використовуються у зображенні (Pixel array) | Обов'язкові якщо глибини кольору зображення ≤ 8 біт |
Gap1 | Динамічний розмір | Вирівнювання структури | Артефакти зміщення файлу в масив точок в заголовку зображення |
Масив точок (Pixel array) | Динамічний розмір | Визначення фактичних значеннь пікселів | Формат пікселя визначається DIB-заголовком або додатковою бітовлю маскалою (Extra bit masks). розмір кожного рядка у масиві пікселів кратний 4 байтам |
Gap2 | Динамічний розмір | Вирівнювання структури | Артефакти після зміщення профілю даних ICC у DIB-заголовку |
Профіль кольору ICC | Динамічний розмір | Визначення профілю кольору для управління кольором | Може також містити шлях до зовнішнього файлу, який містить профіль кольору. Коли завантажений в пам'ять як "не упакований dib", він розташований між таблицею кольорів і Gap1. |
Таблиця перекладена Олійником Владиславом;