BMP (Bitmap Picture)
Последнее изменение этой страницы: 23:55, 17 ноября 2016.
BMP (англ. BitMap Picture) — аппаратно-независимое побитовое изображение Windows - поддерживается любыми Windows-совместимыми программами. Структура файла BMP используется Windows для хранения растровых изображений. Например, в этом формате хранятся рисунки фона, пиктограммы и другие растровые изображения Windows. Формат сводит к минимуму вероятность ошибок или неправильной интерпретации растровых данных.
Основным недостатком данного формата является то, что только версии формата с 4- и 8-битовым цветом поддаются сжатию. Следовательно, 24-битовые файлы BMP будут очень большими. Кроме того, применение файлов BMP ограничено платформами Windows и OS/2. Все это делает невозможным применение данного формата в Сети. В то же время этот формат используется при создании графических файлов в графических редакторах и при сканировании изображений. В связи с этим знание особенностей этого формата графических файлов разработчику веб-страниц целесообразно.
Каждый файл BMP содержит заголовок файла, заголовок изображения, растровые данные и карту цветов (кроме изображения 24-битным цветом).
Заголовок файла ВМР содержит информацию о типе и размере файла, а также о расположении в нем данных. После заголовка файла следует структура, задающая информацию о размере, цвете и сжатии изображения.
Сжатие. Поле biCompression в BITMAPINFO определяет, какой тип сжатия используется в файле. Если значение поля равно BI_RGB, то рисунок не сжимается. Если же значение поля равно BI_RLE4 или BI_RLE8, то рисунок использует метод сжатия групповым кодированием для изображений, соответственно, с 4-бит/пиксель или 8 бит/пиксель.
Карта цветов. Значение поля biCirUsed определяет, будут ли использоваться растровым рисунком индексированные цвета. Если рисунок состоит из 1-, 4-, 8-битовых пикселей, то должна использоваться карта цветов. Если значение поля biCirUsed равно нулю, то применяется либо полная карта, либо 24-битовый цвет. Если поле не равно нулю, то его значение равно действительному количеству цветов, которые будут доступны программе-генератору графики или драйверам устройств. Поле biClrimportant определяет, сколько цветов в индексированной карте считаются важными для изображения рисунка. Если его значение равно нулю, то важными будут все цвета.
Растровые данные. За картой цветов следуют растровые данные. Они хранятся в виде 1-, 4-, или 8-битовых индексов карты цветов или в виде буквенных 24-битовых данных системы RGB. Пиксели в растре записываются, начиная с нижнего левого угла изображения, и читаются слева направо и снизу вверх.
Имя | Длина | Смещение | Описание |
---|---|---|---|
Заголовок файла (BitMapFileHeader) | |||
Type | 2 | 0 | Сигнатура "BM" |
Size | 4 | 2 | Размер файла |
Reserved 1 | 2 | 6 | Зарезервировано |
Reserved 2 | 2 | 8 | Зарезервировано |
OffsetBits | 4 | 10 | Смещение изображения от начала файла |
Информационный заголовок (BitMapInfoHeader) | |||
Size | 4 | 14 | Длина заголовка |
Width | 4 | 18 | Ширина изображения, точки |
Height | 4 | 22 | Высота изображения, точки |
Planes | 2 | 26 | Число плоскостей |
BitCount | 2 | 28 | Глубина цвета, бит на точку |
Compression | 4 | 30 | Тип компрессии (0 - несжатое изображение) |
SizeImage | 4 | 34 | Размер изображения, байт |
XpelsPerMeter | 4 | 38 | Горизонтальное разрешение, точки на метр |
YpelsPerMeter | 4 | 42 | Вертикальное разрешение, точки на метр |
ColorsUsed | 4 | 46 | Число используемых цветов (0 - максимально возможное для данной глубины цвета) |
ColorsImportant | 4 | 50 | Число основных цветов |
Таблица цветов (палитра) (ColorTable) | |||
ColorTable | 1024 | 54 | 256 элементов по 4 байта |
Данные изображения (BitMap Array) | |||
Image | Size | 1078 | Изображение, записанное по строкам слева направо и снизу вверх |
ISSN 2542-0356
Следуй за Полисом
Оставайся в курсе последних событий
Лицензия
Если не указано иное, содержание этой страницы доступно по лицензии Creative Commons «Attribution-NonCommercial-NoDerivatives» 4.0, а примеры кода – по лицензии Apache 2.0. Подробнее см. Условия использования.