Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Формат BMP




Формат файла BMP (сокращенно от BitMaP) - это "родной" формат растровой графики для Windows, поскольку он наиболее близко соответствует внутреннему формату Windows, в котором эта система хранит свои растровые массивы. Этот формат поддержива­ется всеми графическими редакторами, работающими под управлением операционной системы Windows. Для имени файла, представленного в BMP-формате, чаще всего используется расширение BMP, хотя некоторые файлы имеют расширение RLE, означающее run length encoding (кодирование длины серий). Расширение RLE имени файла обычно указывает на то, что произведено сжатие растровой информации файла одним из двух способов сжатия RLE, которые допустимы для файлов BMP-формата

Это один из самых простых по структуре графических форматов, содержащий ми­нимальный набор данных для перехода от одномерного массива байтов к двумерному сигналу – изображению. Файл ВМР для черно-белого изображения состоит из трех основных структурных элементов:

- заголовок:

- таблица цветов (ахроматических);

- область данных.

Формат предназначен для представления штриховых итоновых черно-белых ицветных изображений. В файлах BMP информация о цвете каждого пиксела кодируется 1, 4, 8, 16 или 24 бит (бит/пиксел). Числом бит/пиксел, называемым также глубиной представления цвета, определяется максимальное число цветов в изображении. Изображение при глубине 1 бит/пиксел может иметь всего два цвета, а при глубине 24 бит/пиксел - более 16 млн. различных цветов. Для первых трех значений в структуру файла включается таблица цветов, вне зависимости от того, какого типа представленное изображениецветное или в градациях серого. При 24 битах на пиксел таблица цветов отсутствует. При наличии таблицы цветов, каждый байт из области дан­ных указывает на смещение в таблице относительно начальной ячейки с нулевым смещением. На устройство вывода, например видеокарту имонитор, выводится содержимое ячейки таблицы, на которую указывает сигнал из области данных. Некоторые графические программы самостоя­тельно генерируют таблицу цветов и не используют таблицу, записанную в файле ВМР. Это относится, например, к черно-белым изображениям при восьми битах на пиксел, обрабатываемым в программе Photoshop.

Структура файла BMP
Заголовок файла растровой графики (14 байт) Сигнатура файла BMP (2 байт) Размер файла (4 байт) Не используется (2 байт) Не используется (2 байт) Местонахождение данных растрового массива (4 байт)
Информационный заголовок растрового массива (40 байт) Длина этого заголовка (4 байт) Ширина изображения (4 байт) Высота изображения (4 байт) Число цветовых плоскостей (2 байт) Бит/пиксел (2 байт) Метод сжатия (4 байт) Длина растрового массива (4 байт) Горизонтальное разрешение (4 байт) Вертикальное разрешение (4 байт) Число цветов изображения (4 байт) Число основных цветов (4 байт)
Таблица цветов (длина изменяется от 8 до 1024 байт)
Собственно данные растрового массива (длина переменная)

 

На рис.5 представлен файл формата ВМР для черно-белого изо­бражения размером 10 х 10 пиксел. В таблице используется шестнадцатиричная система счисления, более компактная и удобная для записи значений цифровых сигналов. Для сокращения объема экранного изобра­жениячасть файла опущена изаменена горизонтальным пробелом.

Левый столбец данной ниже таблицы – это величина смешения в файле от­носительно начального нулевого значения. В остальной части таблицы расположены байты файла.

Рис.5. Структура файла формата BMP черно-белого, 8 бит

 

Начальный байт файла (нулевое смешение) и следующий за ним байт – это ASCII коды знаков «ВМ» латинского алфавита. Аббревиатура «ВМ» - признак данного графического формата. В той же строке, со смешением ОАh. выделена область из четырех байтов, указывающая на­чало области данных в файле. В данном случае это число 0436h. Правила записи байтов в файле аналогичны правилам записи данных для микро­процессоров Intel:

- по младшему адресу или меньшему смещению в массиве записыва­ется младший байт данных.

В строке 0010h находятся две группы по четыре байта. Это области, где указывается ширина и высота изображения в пикселах. В той же строке, со смешением 1Сh есть два байта, которые используются для указания числа бит на каждый пиксел изображения, в данном случае 8 бит на пиксел. В строке 20h со смещением 2Еh начинается группа из четырех байтов, указывающих количество цветов (хроматических или ахроматических) на пиксел.

Следующая группа со смещением 32h указывает коли­чество цветов от начала таблицы кодировки цветов, которые должны быть воспроизведены при ограниченных возможностях устройства вы­вода изображения по сравнению с параметрами файла. Со смещением 36h присутствует группа из четырех байтов, которая является нулевой ячей­кой таблицы кодировки цветов. Для изображения в градациях серого в таблице цветов записаны ахроматические цвета (градации серого цвета). Для изображения в индексированных цветах в таблице цветов записаны хроматические и ахроматические цвета. Каждая ячейка таблицы цветов имеет следующую структуру (в порядке следования байтов от младшего значения смешения к старшему):

- байт синего канала:

- байт зеленого канала:

- байт красного канала:

- нулевой разделительный байт.

Общепринятой основой для представления цвета (хроматического или ахроматического) является трехкомпонентная система базовых цветов КЗС. КЗС – это русскоязычная аббревиатура, указывающая на названия базовых цветов (Красный, Зеленый, Синий), используемых при выводе на экран цветных изображений. Для обозначения трехкомпонентной сис­темы чаще используется англоязычная аббревиатура RGB (Red, Green, Blue). Каждая ячейка таблицы цветов графического, файла черно-белого изображения имеет одинаковые значения цифрового сигнала по трем ба­зовым компонентам. Устройство вывода, отвечающее условиям аддитив­ного синтеза цвета, должно воспроизводить по сигналам каждой ячейки такой таблицы одну из 256-ти градаций серого. Общий объем таблицы кодировки цветов для данного файла составляет 1024 байта, составляю­щие 256 ячеек по четыре байта в каждой, три из которых представляют сигналы RGB, а четвертый – нулевой (резервный).

В любом случае таблица индексированных цветов – это произвольная выборка (от 2 до 256) из 16777216 (224) возможных цветов, в т.ч. 256 ахроматических.

Нулевой разделительный байт выполняет функции резервного и ис­пользуется для кодировки сигнала при переходе кчетырехкомпонентному представлению цвета в системе СМУК. СМУК – это англоязычная аббревиатура, указывающая на названия системы базовых цветов, ис­пользуемых при печати цветных изображений: Cyan, Magenta, Yellow, Black.

 

Рис.6. Структура файла формата BMP в режиме индексированных цветов, 8 бит.

В строке 0430h первый байт области данных, смещение ко­торого относительно начала файла указано в заголовке (0436h). Область данных организована по строкам изображения, начиная с байта лево­го нижнего элемента пространственной дискретизации. При отсутствии сжатия каждыйбайт области данных файла с таблицей цветов представ­ляет один, два или восемь элементов изображения. Каждая строка изо­бражения дополняется нулевыми байтами до числа байтов, кратного че­тырем. Файл заканчивается двумя нулевыми байтами.

Для данного варианта изображения (черно-белое, 8 бит на пиксел) ка­ждый байт соответствует одному пикселу изображения. Для штрихового изображения (1 бит на пиксел) биты каждого пиксела распределяются по восьми разрядам байта — первый по счету пиксел группы занимает пози­цию в старшем разряде байта. При кодировке изображения 4-мя битами на пиксел (16 цветов), тетрады также распределяются по две на каждый байт области данных по аналогичному принципу — первый пиксел пары занимает место старшей тетрады в байте.

Кроме варианта с индексированными цветами формат ВМР поддерживает изображения с числом цветов 224. Из файла исключается таблица кодировки цветов. Область данных, имеющая по три байта на каждый пиксел, непосредственно воздействует на устройство вывода. Располо­жение байтов по красному, зеленому исинему каналам аналогично рас­положению в таблице кодировки цветов. Каждая строка изображения дополняется нулевыми байтами до числа, кратного четырем. Файл за­канчивается двумя нулевыми байтами.

Рис.7. Структура файла формата BMP в режиме RGB, 24 бит.

В показанной на рис. 7 таблице область данных начинается со строки 030h




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 1360; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.