Файл Bmp, что это такое

Обновлено: 21.11.2024

Файлы с расширением .BMP представляют собой файлы растровых изображений, которые используются для хранения растровых цифровых изображений. Эти изображения не зависят от графического адаптера и также называются форматом файла независимого от устройства растрового изображения (DIB). Эта независимость служит цели открытия файла на нескольких платформах, таких как Microsoft Windows и Mac. Файл формата BMP может хранить данные в виде двумерных цифровых изображений как в монохромном, так и в цветном формате с различной глубиной цвета.

Спецификации формата файла BMP

Независимые от устройства растровые изображения помогают обмениваться растровыми изображениями между устройствами и приложениями. Из-за постоянного развития этого формата файла информация, содержащаяся в заголовках, может различаться в зависимости от версии Bitmap. Один растровый файл состоит из структур фиксированного и переменного размера в определенной последовательности.

Структуры в файле Bitmap располагаются в следующем порядке:

< tbody>< td>Массив пикселей
СтруктураНеобязательноРазмерНазначение
Заголовок файлаНет14Для хранения общей информации о файле растрового изображения
Заголовок DIBНетФиксированный размерДля хранения подробной информации о растровом изображении и определения формата пикселей
Дополнительные битовые маскиДа12 или 16 байтДля определения формата пикселей
Цветовая палитраПолудополнительноПеременный размерДля определения цветов, используемых данными растрового изображения
Gap1ДаПеременный размерВыравнивание структуры
НетПеременный размерФормат пикселей определяется заголовком DIB или дополнительными битовыми масками.
Gap2ДаПеременный размерВыравнивание структуры
Цвет ICC profileДаПеременный размерЧтобы определить цветовой профиль для цвета управление

Когда растровое изображение загружается в память, оно становится структурой DIB, используемой Windows через GDI API. Заголовок файла не является частью этой структуры данных. Цвет также может состоять из 16-битных записей, которые представляют собой индексы к текущей палитре, на которую ссылаются, вместо явных определений цвета RGB. Давайте подробно рассмотрим некоторые из них, особенно заголовки.

Заголовок растрового файла

Заголовок растрового файла похож на другие заголовки файлов, используемые для идентификации файла. Поскольку существуют разные варианты формата файла BMP, первые 2 байта формата файла BMP представляют собой символ «B», а затем символ «M» в кодировке ASCII. Все целочисленные значения хранятся в формате с прямым порядком байтов.

< tr>
Смещение в шестнадцатеричном форматеСмещение в десятичном форматеРазмерНазначение
0002 байтаПоле заголовка, используемое для идентификации файла BMP и DIB, имеет значение 0x42 0x4D в шестнадцатеричный, такой же, как BM в ASCII. Возможны следующие значения.* BM — Windows 3.1x, 95, NT, … и т. д. * BA — массив растровых изображений структуры OS/2 * CI — цветной значок структуры OS/2 * CP — указатель постоянного цвета OS/2 * IC — значок структуры OS/2 * PT — указатель OS/2
0224 байтаРазмер файла BMP в байтах
0662 байтаЗарезервировано; фактическое значение зависит от приложения, которое создает образ
0882 байтаЗарезервировано ; фактическое значение зависит от приложения, создающего образ
0A104 байта смещение, т. е. начальный адрес байта, в котором можно найти данные растрового изображения (массив пикселей).

Заголовок DIB (заголовок растровой информации)

В этом заголовке представлена ​​подробная информация об изображении. На основе этой информации будет определено приложение, которое будет использоваться для вывода изображения на экран. Все такие заголовки содержат поле DWORD (32-битное) с указанием их размера, чтобы приложение могло легко определить заголовок, используемый в изображении. В основном это связано с тем, что формат DIB претерпел несколько расширений. Ниже приведен заголовок DIB с перечисленными полями.

Цветовая палитра

Цветовая палитра BMP — это массив структур, определяющих значения интенсивности RGB для каждого цвета в цветовой палитре устройства отображения. Каждый пиксель в растровых данных хранит одно значение, используемое в качестве индекса в цветовой палитре. Информация о цвете, хранящаяся в элементе с этим индексом, определяет цвет этого пикселя. Доступность цвета в файле растрового изображения различается следующим образом:

Хранение пикселей

Растровые пиксели хранятся в виде битов, упакованных в строки, где размер каждой строки округляется до числа, кратного 4 байтам (32-битное DWORD), путем заполнения. Общее количество байтов, необходимых для хранения пикселей изображения, нельзя рассчитать напрямую, просто подсчитав биты.Поскольку задействовано заполнение, требуется эффект округления размера каждой строки до кратного 4 байтам. Байты заполнения (не обязательно 0) должны быть добавлены в конец строк, чтобы увеличить длину строк до числа, кратного четырем байтам. Когда массив пикселей загружается в память, каждая строка должна начинаться с адреса памяти, кратного 4.

На самом деле изображение описывается 32-битным представлением массива пикселей в формате DWORD. Обычно пиксели хранятся «снизу вверх», начиная с левого нижнего угла, двигаясь слева направо, а затем построчно снизу вверх изображения. Форматы пикселей и их значение перечислены ниже:

Файлы с расширением .BMP представляют собой файлы растровых изображений, которые используются для хранения растровых цифровых изображений. Эти изображения не зависят от графического адаптера и также называются форматом файла независимого от устройства растрового изображения (DIB). Эта независимость служит цели открытия файла на нескольких платформах, таких как Microsoft Windows и Mac. Файл формата BMP может хранить данные в виде двумерных цифровых изображений как в монохромном, так и в цветном формате с различной глубиной цвета.

Спецификации формата файла BMP

Независимые от устройства растровые изображения помогают обмениваться растровыми изображениями между устройствами и приложениями. Из-за постоянного развития этого формата файла информация, содержащаяся в заголовках, может различаться в зависимости от версии Bitmap. Один растровый файл состоит из структур фиксированного и переменного размера в определенной последовательности.

Структуры в файле Bitmap располагаются в следующем порядке:

< tbody>< td>Массив пикселей
СтруктураНеобязательноРазмерНазначение
Заголовок файлаНет14Для хранения общей информации о файле растрового изображения
Заголовок DIBНетФиксированный размерДля хранения подробной информации о растровом изображении и определения формата пикселей
Дополнительные битовые маскиДа12 или 16 байтДля определения формата пикселей
Цветовая палитраПолудополнительноПеременный размерДля определения цветов, используемых данными растрового изображения
Gap1ДаПеременный размерВыравнивание структуры
НетПеременный размерФормат пикселей определяется заголовком DIB или дополнительными битовыми масками.
Gap2ДаПеременный размерВыравнивание структуры
Цвет ICC profileДаПеременный размерЧтобы определить цветовой профиль для цвета управление

Когда растровое изображение загружается в память, оно становится структурой DIB, используемой Windows через GDI API. Заголовок файла не является частью этой структуры данных. Цвет также может состоять из 16-битных записей, которые представляют собой индексы к текущей палитре, на которую ссылаются, вместо явных определений цвета RGB. Давайте подробно рассмотрим некоторые из них, особенно заголовки.

Заголовок растрового файла

Заголовок растрового файла похож на другие заголовки файлов, используемые для идентификации файла. Поскольку существуют разные варианты формата файла BMP, первые 2 байта формата файла BMP представляют собой символ «B», а затем символ «M» в кодировке ASCII. Все целочисленные значения хранятся в формате с прямым порядком байтов.

< tr>
Смещение в шестнадцатеричном форматеСмещение в десятичном форматеРазмерНазначение
0002 байтаПоле заголовка, используемое для идентификации файла BMP и DIB, имеет значение 0x42 0x4D в шестнадцатеричный, такой же, как BM в ASCII. Возможны следующие значения.* BM — Windows 3.1x, 95, NT, … и т. д. * BA — массив растровых изображений структуры OS/2 * CI — цветной значок структуры OS/2 * CP — указатель постоянного цвета OS/2 * IC — значок структуры OS/2 * PT — указатель OS/2
0224 байтаРазмер файла BMP в байтах
0662 байтаЗарезервировано; фактическое значение зависит от приложения, которое создает образ
0882 байтаЗарезервировано ; фактическое значение зависит от приложения, создающего образ
0A104 байта смещение, т. е. начальный адрес байта, в котором можно найти данные растрового изображения (массив пикселей).

Заголовок DIB (заголовок растровой информации)

В этом заголовке представлена ​​подробная информация об изображении. На основе этой информации будет определено приложение, которое будет использоваться для вывода изображения на экран. Все такие заголовки содержат поле DWORD (32-битное) с указанием их размера, чтобы приложение могло легко определить заголовок, используемый в изображении. В основном это связано с тем, что формат DIB претерпел несколько расширений. Ниже приведен заголовок DIB с перечисленными полями.

Цветовая палитра

Цветовая палитра BMP — это массив структур, определяющих значения интенсивности RGB для каждого цвета в цветовой палитре устройства отображения. Каждый пиксель в растровых данных хранит одно значение, используемое в качестве индекса в цветовой палитре. Информация о цвете, хранящаяся в элементе с этим индексом, определяет цвет этого пикселя. Доступность цвета в файле растрового изображения различается следующим образом:

Хранение пикселей

Растровые пиксели хранятся в виде битов, упакованных в строки, где размер каждой строки округляется до числа, кратного 4 байтам (32-битное DWORD), путем заполнения. Общее количество байтов, необходимых для хранения пикселей изображения, нельзя рассчитать напрямую, просто подсчитав биты. Поскольку задействовано заполнение, требуется эффект округления размера каждой строки до кратного 4 байтам. Байты заполнения (не обязательно 0) должны быть добавлены в конец строк, чтобы увеличить длину строк до числа, кратного четырем байтам. Когда массив пикселей загружается в память, каждая строка должна начинаться с адреса памяти, кратного 4.

На самом деле изображение описывается 32-битным представлением массива пикселей в формате DWORD. Обычно пиксели хранятся «снизу вверх», начиная с левого нижнего угла, двигаясь слева направо, а затем построчно снизу вверх изображения. Форматы пикселей и их значение перечислены ниже:

BMP – это простой формат файлов растровых графических изображений, предназначенный для хранения растровых цифровых изображений независимо от устройства отображения, первоначально и главным образом в операционных системах Microsoft Windows и OS/2. Этот формат иногда называют Device-Independent Bitmap (DIB), так как при загрузке в память с помощью программного обеспечения Windows изображение хранится в виде структуры DIB. Несколько обратно совместимых версий были представлены с новыми версиями Windows. По состоянию на конец 2011 года текущей версией BMP является версия 5, представленная в Windows 98 в 1998 году. Это описание касается версии 5, но относится и к более ранним версиям, поскольку структура осталась неизменной для обеспечения обратной совместимости. В статье Википедии о BMP есть таблица, описывающая различия между версиями.

Цитируя часть 1 статьи Дэвида Чарлапа 1995 года в журнале Dr. Dobbs's Journal: «В отличие от других форматов файлов изображений, таких как GIF (формат файла обмена графическими данными CompuServe) и JPEG (Объединенная группа экспертов по фотографии), формат файла BMP не был предназначен для переноски. Вместо этого он был разработан для простой работы с Windows API с использованием тех же структур, которые приложения Windows используют для управления растровыми изображениями в памяти. По мере изменения API менялся и формат файла BMP». BMP используется в основном для значков, снимков экрана и других целей в Windows.

Формат файла BMP версии 5 позволяет хранить двухмерные цифровые изображения произвольной ширины, высоты и разрешения, как монохромные, так и цветные, с различной глубиной цвета (1, 4, 8, 16, 24, 32 или 64 бита). на пиксель). Цвета могут быть проиндексированы. Дополнительные функции включают сжатие (специальные алгоритмы сжатия без потерь, которые быстро распаковываются), альфа-каналы и цветовые профили ICC. На практике большинство изображений BMP несжаты, а изображения 16 и 32 бита всегда несжаты.

Структура файла BMP включает два заголовка. Первый — это 14-байтовый BITMAPFILEHEADER. Здесь указывается тип файла растрового изображения, размер файла и положение (смещение) в файле, где начинаются данные пикселей. Этот заголовок просто позволяет проверить тип файла и его повреждение. Второй заголовок, обычно известный как заголовок DIB, предоставляет техническую информацию, необходимую для визуализации изображения, такую ​​как количество бит на пиксель, высоту и ширину изображения в пикселях, метод сжатия. Второй заголовок будет иметь другое имя, размер и другой набор записываемых элементов в зависимости от версии спецификации. Более поздние версии заголовка DIB добавили новые элементы в конце заголовка. Если указан профиль ICC, заголовок DIB предоставляет указатель на начало информации ICC. Если используется таблица цветов, она находится в конце заголовка DIB. После таблицы цветов, которая является обязательной для глубины цвета 8 или меньше, следуют данные изображения. Наконец, информация о профиле ICC, либо встроенная, либо ссылка на путь к другому файлу.

Местное использование

Опыт LC или существующие активы LC не создает изображения BMP для воспроизведения предметов коллекции или поддержки сохранения коллекции. Однако отдельные изображения в формате BMP могут использоваться как элементы веб-страницы.
Предпочтение LC При оцифровке предметов коллекции или приобретении изначально цифровое графическое содержимое, Библиотека Конгресса предпочитает форматы TIFF_6, JPEG 2000, DNG или JPEG. Заявление о рекомендуемых форматах Библиотеки Конгресса (RFS) включает BMP в качестве предпочтительного формата для фотографий в цифровой форме и других графических изображений в цифровой форме. RFS не указывает версию BMP.

Факторы устойчивого развития

Microsoft никогда не публиковала спецификацию для BMP. Информация о структуре и методах кодирования данных была включена в ряд справочников программистов, руководств, интерактивных справочных средств и файлов, связанных с комплектами разработки программного обеспечения Microsoft Windows (SDK). Тем не менее, формат хорошо изучен и подробно описан в разное время способами, которые многие считают более полезными. Многие из этих описаний не относятся к последней версии. По состоянию на июнь 2021 года Microsoft предоставляет информацию через Microsoft Docs. Ниже приведен избранный список источников документации:

Формат BMP представляет собой несжатый растровый файл, предназначенный для отображения высококачественных изображений в Windows и хранения фотографий, пригодных для печати. Узнайте больше об истории BMP, о том, как и почему он используется, а также о его плюсах и минусах.

Что вы узнаете.

Что такое файл BMP?

Хотя вы можете встретить этот формат, иногда называемый Device Independent Bitmap (или DIB), файл BMP означает растровое изображение и обычно произносится как выпуклость.

Microsoft изначально разработала формат BMP для своей операционной системы Windows, чтобы поддерживать разрешение цифровых изображений на разных экранах и устройствах. Он может хранить двумерные изображения как в цвете, так и в черно-белом цвете.

В наши дни файлы BMP больше не ограничиваются только устройствами Windows. Многие устройства Mac и Android теперь совместимы с ними. Их также легко обнаружить — просто обратите внимание на расширение файла .BMP.

История файла BMP.

В 1990-х годах Microsoft разработала формат файла BMP, позволяющий отображать данные изображения независимо от устройств Windows. Почему это имело значение? Как только файлы можно было просматривать на разных устройствах, новый формат BMP, предотвращавший размытие и искажение изображений, устранил необходимость в графическом адаптере.

Файл BMP содержит несжатые данные, что делает его идеальным для хранения и отображения высококачественных цифровых изображений. С другой стороны, это отсутствие сжатия обычно создает файлы большего размера, чем, например, JPEG и GIF. С другой стороны, 2D-фотографии, значки и снимки экрана хорошо работают с форматом BMP.

Как использовать файлы BMP.

Основные области применения файлов BMP включают:

Хранение цифровых фотографий высокого качества.

Файлы BMP имеют растровый формат, что означает, что содержащиеся в них изображения состоят из пикселей. Это позволяет BMP хранить изображения с широким набором цветов и деталей, что делает их идеальными для высококачественных цифровых 2D-фотографий. А поскольку файлы BMP, как правило, несжатые, они могут обрабатывать большие объемы графических данных.

Поддержка процесса фотопечати.

По многим причинам, по которым файлы BMP отлично подходят для хранения фотографий, они также подходят для печати сложных полноцветных фотографий. В отличие от файлов JPEG, которые сжимают данные файла изображения, файлы BMP не теряют данные каждый раз, когда вы их редактируете и сохраняете.

Плюсы и минусы файлов BMP.

Прежде чем вы решите использовать формат файла изображения BMP, найдите время, чтобы рассмотреть его преимущества и недостатки.

Преимущества файла BMP.

  • Каждый BMP не зависит от устройства, то есть его можно хранить и отображать на разных устройствах и экранах без потери качества.
  • Формат BMP очень универсален — он поддерживает различные глубины цвета, профили и альфа-каналы. Он также может поддерживать сжатие данных.
  • BMP совместимы со многими веб-браузерами и типами программного обеспечения. Adobe Photoshop — это лишь одна из программ редактирования изображений, поддерживающих этот формат файла.

Недостатки файла BMP.

  • Некоторые люди считают, что формат файла BMP может быть устаревшим, поскольку он был разработан для старых настольных приложений Windows до того, как мобильные устройства Android и Apple стали популярными.
  • Несжатые файлы BMP могут иметь гораздо больший размер, чем файлы JPEG и PNG, что затрудняет их совместное использование. Они также могут быть слишком большими для использования на веб-сайтах или для хранения на жестких дисках, на которых недостаточно свободного места.
  • BMP могут содержать только изображения RGB, о чем следует помнить, если вы регулярно работаете в CMYK.

Как открыть файл BMP.

Вы можете открывать файлы BMP на ПК или Mac с помощью внешнего программного обеспечения, например Adobe Creative Cloud.

Если вы используете ПК или Mac, начните с открытия папки с файлом BMP, который вы хотите использовать. Щелкните правой кнопкой мыши имя файла и наведите указатель мыши на параметр «Открыть с помощью». Затем вы можете выбрать любое количество приложений для отображения вашего файла BMP. Это могут быть Adobe Photoshop, Windows Photos, Apple Photos и другие.

Как создать и отредактировать файл BMP.

Вы можете создать и отредактировать файл BMP в Photoshop, выполнив всего несколько простых шагов:

  1. После работы с новым изображением или редактирования существующего файла в Photoshop нажмите «Файл», а затем «Сохранить как».
  2. Выберите BMP в меню «Формат».
  3. Выберите имя и место для нового BMP-файла, затем нажмите «Сохранить».
  4. Перейдите к диалоговому окну "Параметры BMP", чтобы получить дополнительные возможности редактирования и сохранения.

Файлы BMP: часто задаваемые вопросы.

В чем разница между файлами BMP и JPEG?

BMP обычно представляют собой большие несжатые файлы. Они отлично справляются с детализированными высококачественными изображениями, но в то же время ими сложнее делиться и хранить. С другой стороны, файлы JPEG легко распространять или использовать на веб-сайтах, поскольку они сжимаются до меньшего размера. Но каждый раз, когда вы сжимаете JPEG, он теряет некоторые данные изображения. Узнайте больше о различиях между BMP и JPEG.

Можно ли анимировать файл BMP?

Файлы BMP обычно несовместимы с анимацией. Для создания простых анимаций, которые можно сохранять и распространять относительно быстро, вы можете вместо этого использовать формат файла GIF.

Файлы BMP меньше, чем PNG?

PNG – это формат файлов, сжатых без потерь. Это означает, что они имеют меньший размер без потери ключевых данных в процессе сжатия. Файлы PNG обычно меньше по размеру, чем файлы BMP, которые обычно несжаты и содержат больше данных.

Сколько цветов может храниться в файлах BMP?

BMP обрабатывает как цветные, так и черно-белые изображения. Они могут работать с 16,7 миллионами цветов.

Что такое растровый файл и как он связан с BMP?

BMP — это один из типов растровых файлов. Это означает, что изображения BMP состоят из пикселей. Другим распространенным типом файла изображения является вектор. Растровый формат предназначен для фотографии и веб-графики, тогда как векторный формат часто используется для логотипов или детальных дизайнерских работ, требующих масштабирования. В отличие от растровых файлов, созданных из пикселей, векторные файлы не теряют разрешения при масштабировании, потому что они построены на сложной графообразной формуле, которую можно бесконечно расширять. Узнайте больше о разнице между растрами и векторами.

Читайте также: