- зазвичай використовується для полегшення доступу до таблиці кольорів. - визначає число бітових площин; однак, оскільки колір кодується послідовними бітами, це число завжди дорівнює 1. - цим полем визначається число квітів, використовуваних двійкового чином. Залежно від способу кодування, може приймати значення:
- бітовий образ монохромний, і таблиця кольорів повинна містити два елементи. Кожен біт в масиві даних кодує один піксель. Якщо значення біта - 0, то піксель стає першим кольором таблиці; якщо - 1, піксель стає другим кольором таблиці. p align="justify"> - бітовий образ має максимум 16 кольорів, і масив bmiColors (таблиця кольорів) має до 16 елементів. Колір кожного пікселя визначається за таблицею квітів за допомогою четирехбітних індексу. Наприклад, якщо перший байт даних має значення 3Ah, то при відображенні бітового образу колір першого пікселя визначає четвертий елемент таблиці кольорів, а колір другого - одинадцятий.
- бітовий образ має максимум 256 кольорів, і таблиця квітів має до 256 елементів. Кожен байт масиву даних визначає колір одного пікселя. p align="justify"> - бітовий образ має максимум 2 в 24-й ступеня квітів. Таблиця кольорів порожня, а колір пікселів визначається пакетами з трьох байтів, що описують колірні інтенсивності червоного, зеленого і блакитного кольорів. - Тип стиснення. Може приймати значення:
BI_RGB - стиснення відсутня;
BI_RLE8 - стиснення для формату 8 біт на піксель;
BI_RLE4 - стиснення для формату 4 біти на піксель.і biYPelsPerMeter - можуть використовуватися для вибору зі списку ресурсів піктограми, найбільш відповідний для цього пристрою . - число квітів, використовуваних даним двійкового чином. Якщо 0, то використовуються всі кольори палітри (зазначені в масиві bmiColors). - Використовується для управління алгоритмом відображення квітів. Так, якщо чотири різних програми відображають на екрані по одному битовому образу з 75 квітами кожен, то адаптер, що виводить 256 кольорів одночасно, не зможе повністю автентично відобразити на екрані всі 4 картинки. У цьому випадку використовується механізм заміни кольорів - шукається бітовий образ з найменшим пріоритетом і його "зайві" кольору замінюються найбільш підходящими.
struct tagRGBQUAD {rgbRed;// інтенсивність красногоrgbGreen;// інтенсивність зеленогоrgbBlue;// інтенсивність голубогоrgbRserved;// не використовується
} RGBQUAD;
Після того, як всі параметри бітового образу визначені, у файлі йдуть самі скан-рядки бітової площині, причому першою скан-рядком у форматі DIB вважається нижня скан-рядок (тобто початок координат знаходиться в лівому нижньому кутку зображення)...