ОЗтаМ

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

BMP

BMP - формат збереження растрових зображень, розроблений компанією Microsoft. Даний формат має розширення .bmp, .dib, .rle. На один пиксель в різних файлах формату може бути різна кількість бітів.

Максимальний розмір неподільних комірок (виключаючи поля бітових структур): 32 біта і тому формат можна класифікувати як 32-бітний. Винятком можуть бути 64-бітові пікселі, але значення їх каналів можна обробляти і 16-бітними словами. Порядок байтів в 16-бітних і 32-бітових комірках усюди від меншого до більшого. Цілі числа записуються в прямому коді[ru], зі знаком — в додатковому. Якщо порівнювати з апаратними архітектурами, то порядок байт і формат чисел відповідає архітектурі x86.

Можна зустріти чотири числових типа:

  • BYTE — 8-бітове беззнаковое ціле.
  • WORD —16-бітове беззнаковое ціле.
  • DWORD — 32-бітове беззнаковое ціле.
  • LONG —32-бітове ціле зі знаком.

У форматі Windows Bitmap під структурами розуміється блок з послідовними комірками різного фіксованого розміру, у яких є умовні імена (є в багатьох мовах програмування), а не щось складніше (наприклад, потік команд довільного розміру).

Структура формату

BMP-файл складається з чотирьох частин

  • Заголовок файлу (BITMAPFILEHEADER)
  • Заголовок зображення (BITMAPINFOHEADER, може бути відсутнім). BITMAPV4HEADER (Win95, NT4.0) BITMAPV5HEADER (Win98/Me,2000/XP)
  • Палітра (може бути відсутнім)
  • Саме зображення


BITMAPFILEHEADER — 14-байтна структура, яка розташована в самому початку файлу.
BITMAPINFO у файлі йде відразу за BITMAPFILEHEADER.
Блок BITMAPINFO складається з трьох частин:

  • Структура з інформаційними полями.
  • Бітові маски для вилучення значень колірних каналів (присутні не завжди).
  • Таблиця кольорів (присутня не завжди).