ОЗтаМ
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 складається з трьох частин:
- Структура з інформаційними полями.
- Бітові маски для вилучення значень колірних каналів (присутні не завжди).
- Таблиця кольорів (присутня не завжди).