Главная » Ассемблер, Железо » Формат BMP для несжатого RGB-изображения

0

Формат файла BMP для несжатого RGB-изображения показан в табл. 4.10. Это самый простой из всех форматов, он воспринимается большинством графических редакторов, но порождает файлы гигантских размеров, поскольку одна точка изображения кодируется тремя байтами данных, по байту на каждый из цветовых компонентов (аналогично формату TrueColor24).

Таблица 4.10. Формат файла BMP для несжатого RGB-изображения

Смещение

Размер

Значение

Описание

OOh

WORD

4D42h (BM)

Признак файла BMP

02h

DWORD

3xLxH + 54

Полный размер файла в байтах

06h

WORD

0

Не используется

08h

WORD

0

Не используется

OAh

DWORD

54 (36h)

Смещение области данных изображения от начала файла

OEh

DWORD

40 (28h)

Размер описателя изображения

12h

DWORD

L

Ширина изображения в пикселах

16h

DWORD

H

Высота изображения в пикселах

1Ah

WORD

1

Число битовых плоскостей

1Ch

WORD

24 (18h)

Число битов на пиксел

1Eh

DWORD

0

Метод сжатия

22h

DWORD

3xLxH

Размер изображения в байтах

26 h

DWORD

0

Разрешение по горизонтали

в пикселах на метр

Смещение

Размер

Значение

Описание

2Ab

DWORD

0

Разрешение по вертикали

 

 

 

в пикселах на метр

2Eb

DWORD

0

Число цветов в растровом

 

 

 

изображении

32h

DWORD

0

Число важных цветов изобра

 

 

 

жения

36h

3xLxH байт

Область данных изображения

Создание файла BMP начинается с заполнения заголовка. Как видно из таблицы, в формате RGB большая часть полей заголовка заполняется строго определенными значениями (константами), никак не зависящими от вида и размеров изображения. Переменными параметрами являются только ширина изображения L, высота изображения Н, размер изображения в байтах (равен умноженному на три произведению ширины и высоты) и полный размер файла в байтах (является суммой размера изображения и размера заголовка).

Допустим, нужно сохранить изображение размером 1024×768 точек. Тогда ширина L=1024, высота Н=768, размер изображения равен 2 359 296 байт, а размер файла — 2 359 350 байтов. Другой неприятной особенностью формата BMP является перевернутый (по отношению к экрану монитора) порядок записи строк в файл — первой записывается самая нижняя строка изображения. Проявляет себя этот недостаток только в том случае, если изображение по высоте превышает размеры экрана, а его просмотр нужно начинать с левого верхнего угла — чтобы добраться до верхней строки, приходится прокручивать файл до самого конца. Использование метода Родена (см. главу 2 «Недокументированные возможности процессоров Intel 80x86») обеспечивает под управлением DOS доступ ко всей оперативной памяти, что позволяет нейтрализовать недостатки формата BMP (большой объем файлов и перевернутый порядок строк).

Источник: Кулаков В. К90 Программирование на аппаратном уровне: специальный справочник (+дискета). 2-е издание. — СПб.: Питер, 2003. — 847 е.: ил.

По теме:

  • Комментарии