Шаг 114 - Формат BMP файла

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

Информацию собрал Максим Шлей.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 16.09.2001