Привет Артём, прежде всего хочу поблагодарить за такое обилие информации которое было предоставленное тобой на Firststeps.ru. Я представляю каких усилий это могло стоить. Поэтому я очень рад хоть чем-то помочь и внести свою лепту. Работая над одним из своих проектов, мне пришлось иметь дело с BMP на довольно низком уровне, его структуру я знаю почти наизусть. Расширенный Windows95 BMP Header можешь проигнорировать. Во всяком случае все извесные мне программы генерируют обычный Windows311 BMP Header, а 95-Header я воотчию и не видел. Да, довольно важный момент, строки изображения в файле должны быть кратны 4-ём. Например если ширина картинки = 121 Pixel, то при записи в файл каждой строке необходимо добавить ещё 3 нулевых байта. Max Schlee <schlee2@gmx.de>
А вот сама структура.
Offset Bytes Name Объяснение
00h 2 bfType BMP сигнатура ("BM")
02h 4 bfSize Длина файла в Байтах
06h 2 ---------- Зарезарверовано должно быть 0
08h 2 Зарезарверовано должно быть 0
0Ah 4 bfOffs Offset Области данных
Расширенный Header Windows 3.x
0Eh 4 biSize Длинна
12h 4 biWidth Ширина Bitmap-а в пикселях
16h 4 biHeight Высота Bitmap-а в пикселях
1Ah 2 BiPlanes Цветовые плоскости (должно быть1 )
1Ch 2 BiBit Колличество битов на пиксель
1Eh 4 biCompr Тип сжатия (0 значит не сжато )
22h 4 biSizeIm Размер изображения в байтах
26h 4 BiXPels/m Горизонтальное разрешение в DPI
2Ah 4 BiYPels/m Вертикальное разрешение в DPI
2Eh 4 biClrUsed Колличество используемых цветов
32h 4 BiClrImp. Колличество важных цветов RGB_QUAD
36h N*4 Определение для n цветов с :
RgbBlue 1 Byte голубой интенситет
RgbGreen 1 Byte зелённый интенситет
RgbRed 1 Byte красный интенситет
RgbRes 1 Byte зарезервирован
Расширенный Header Windows 95
0Eh 4 Длинна заголовка в байтах
12h 4 Ширина Bitmap-а в пикселях
16h 4 Высота Bitmap-а в пикселях
1Ah 2 Цветовые плоскости (должно быть1 )
1Ch 2 Колличество битов на пиксель
1Eh 4 Тип сжатия (0 значит не сжато )
22h 4 Размер изображения в байтах
26h 4 Горизонтальное разрешение в DPI
2Ah 4 Вертикальное разрешение в DPI
2Eh 4 Колличество используемых цветов
32h 4 Колличество важных цветов
дополнительные 4-поля BMP
36h 4 Маска красных частей Цвета
3Ah 4 Маска зелёных частей Цвета
3Eh 4 Маска зелёных частей Цвета
42h 4 Маска альфа канала
46h 4 Color Space Typ
4Ah 4 X-координата красного CIE-конца
4Eh 4 Y-координата красного CIE-конца
52h 4 Z-координата красного CIE-конца
56h 4 X-координата зелёного CIE-конца
5Ah 4 Y-координата зелёного CIE-конца
5Eh 4 Z-координата зелёного CIE-конца
62h 4 X-координата голубого CIE-конца
66h 4 Y-координата голубого CIE-конца
5Eh 4 Z-координата голубого CIE-конца
62h 4 Гамма красной координаты
66h 4 Гамма зелёной координаты
6Ah 4 Гамма голубой координаты
Информацию собрал Максим Шлей.