Привет Артём, прежде всего хочу поблагодарить за такое обилие информации которое было предоставленное тобой на 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 Гамма голубой координаты
Информацию собрал Максим Шлей.