BMP (полное имя Bitmap) — это стандартный формат файла изображения в операционной системе Windows, который можно разделить на две категории: зависящее от устройства растровое изображение (DDB) и независимое от устройства растровое изображение (DIB), которое очень широко используется. Он использует формат хранения растровых изображений, в дополнение к дополнительной глубине изображения, не использует никакого другого сжатия, поэтому пространство, занимаемое файлом BMP, очень велико. Глубина изображения файлов BMP может быть выбрана из lbit, 4bit, 8bit и 24bit. При хранении данных в файле BMP изображение сканируется в порядке слева направо и снизу вверх. Поскольку формат файла BMP является стандартом для обмена данными, связанными с графиками, в среде Windows, все графические и графические программы, работающие в среде Windows, поддерживают формат изображений BMP.
Вот краткое введение в формат BMP на конкретном примере.
1. Общая информация
Файлы в формате BMP выглядят следующим образом от начала до конца:
BMP формат (пример кода)
Наиболее распространенной является 24-битная карта. Так называемая 24-битная карта означает, что информация о цвете пикселя представлена 24 битами, то есть для трех основных цветов BRG каждый цвет представлен байтовыми (8) битами. В дополнение к 24-битным изображениям, есть 1 бит (монохромный), 2 бита (4 цвета, CGA), 4 бита (16 цветов, VGA), 8 бит (256 цветов), 16 бит (расширенные цвета), 24 бита (правда) Цвет) и 32-битный.
Ниже приводится подробное введение через следующие рисунки:
Часть информации об изображении выглядит следующим образом:
2. заголовок файла bmp
- bfType: 2 байта, тип файла;
- bfSize: 4 байта, размер файла;
- bfReserved1: 2 байта, зарезервированы, должны быть установлены в 0;
- bfReserved2: 2 байта, зарезервированы, должны быть установлены в 0;
- bfOffBits: 4 байта, смещение от начала до растровых данных;
Данные на рисунке ниже — заголовок файла bmp:
Всего 14 байтов, поясняется ниже один за другим.
0-1: bfType, который указывает тип файла. Два байта файла формата BMP — 0x4D42, десятичное число — 19778, а символьное отображение — «BM»;
2-5: bfSize, указывающий размер файла, здесь 0x0004B436, десятичное число 308278, что составляет 301 КБ, проверьте информацию о файле, убедитесь, что он правильный;
6-7: bfReserved1, зарезервированный бит, должен быть установлен в 0;
8-9: bfReserved2, зарезервированный бит, должен быть установлен в 0;
a-d: bfOffBits, 4-байтовое смещение, которое представляет смещение от заголовка файла к данным точечного рисунка, здесь 0x00000436, десятичное значение 1078, и проверка будет выполнена позже;
Всего 40 байтов заголовка растрового изображения, включая следующее содержимое:
ГРАФИЧЕСКИЕ форматы : PSD,TIFF,BMP,JPEG,GIF. Достоинства и недостатки графических форматов. |NOVA|
- biSize: 4 байта, размер информационного заголовка, который составляет 40;
- biWidth: 4 байта, указывающих ширину изображения в пикселях;
- biHeight: 4 байта, указывающих высоту изображения в пикселях. В то же время, если оно положительное, это означает, что битовая карта инвертирована (то есть данные указывают от нижнего левого угла до верхнего правого угла изображения).
- biPlanes: 2 байта, указывающие количество цветовых плоскостей для целевого устройства, всегда равное 1;
- biBitCount: 2 байта, указывающих количество бит / пикселей, значения 1, 2, 4, 8, 16, 24, 32;
- biCompression: 4 байта, указывающие тип сжатия изображения, наиболее часто используемый 0 (BI_RGB), что означает отсутствие сжатия;
- biSizeImages: 4 байта, указывающих размер растровых данных; при использовании формата BI_RGB его можно установить равным 0;
- biXPelsPerMeter: указывает горизонтальное разрешение, единица измерения — пиксель / метр, целое число со знаком;
- biYPelsPerMeter: указывает вертикальное разрешение, единица измерения — пиксель / метр, целое число со знаком;
- biClrUsed: указывает число цветовых индексов в палитре, используемых растровым изображением, 0 означает использовать все;
- biClrImportant: указывает число цветовых индексов, которые имеют важное влияние на отображение изображения, а 0 указывает, что это важно;
Данные ниже являются заголовком растрового изображения:
Всего 40 байтов, объясняется следующим образом:
0e-11: 4-байтовый biSize, здесь 0x28, что составляет 40 десятичных знаков, проверено правильно;
12-15: 4-байтовый biWidth, здесь 0x00000280, что составляет 640 десятичных знаков, а ширина изображения выражается в пикселях. Проверьте информацию о файле, чтобы убедиться, что оно правильное;
16-19: 4-байтовый biHeight, здесь 0x000001E0, что составляет 480 десятичных знаков, используя пиксели для представления высоты изображения, проверьте правильность информации о файле, в то же время это положительное число, указывающее, что изображение инвертировано, то есть данные изображения Расположен от нижнего левого угла до верхнего правого угла;
1a-1b: 2-байтовые бипланы со значением 0x0001;
1c-1d: 2-байтовый biBitCount, значение 0x0008, то есть 8 означает, что каждый пиксель представлен 8 битами, и всего имеется 256 цветов;
1e-21: 4-байтовая бикомпрессия, значение равно 0, то есть формат BI_RGB, без сжатия;
22-25: 4-байтовый biSizeImage, размер изображения, значение 0x0004B000, десятичное значение 307200, из вышеприведенных bfSize (размер файла) и bfOffBits (заголовок файла к смещению данных) 308278 и можно получить 1078, biSizeImage = bfSize-bfOffBits, то есть размер изображения = смещение размера файла;
26-29: 4-байтовый biXPelsPerMeter, горизонтальное разрешение, значение 0x00000EC4, десятичное значение 3780;
2a-2d: 4-байтовый biYPelsPerMeter, разрешение по вертикали, значение 0x00000EC4, десятичное значение 3780;
2e-31: 4 байта biClrUsed, используемый номер индекса цвета, значение 0x00000100, десятичное 256, в соответствии с выводом, полученным 1c-1d;
32-35: 4-байтовый biClrImportant, важный индекс цвета, значение 0x00000100, 256 знаков после запятой;
4. Цветовая палитра
Цветовая палитра является необязательной, но 8-битная цветовая карта здесь имеет цветовую палитру. Тогда следующие данные — палитра. Палитра является индексом цветов. Вот 8-битная цветовая карта. Всего 256 цветов. Поскольку каждый цвет имеет основные цвета RGB, то есть для представления требуется 3 байта. В этом случае 256 цветов не могут представлять все из них.
Цвет, поэтому вам нужен индекс с байтовым индексом, указывающим на цвет, представленный 4 байтами (RGB плюс альфа-значение). Если эти 4 байта представлены как тип Color, тогда палитра является массивом Color. Поскольку тип Color также является массивом, палитра цветов похожа на палитру двумерных массивов [N] [4], где N — количество цветов, здесь 256.
Следовательно, размер палитры в этом примере составляет 256×4 = 1024 байта. Перед палитрой имеется 14-байтовый заголовок файла bmp, 40-байтовый заголовок информации о растровом изображении и 1024-байтовая цветовая палитра. Всего на плате 1078 байт, что означает, что перед данными реального изображения находится 1078 байт, что согласуется с bfOffBits в заголовке файла bmp, что подтверждает наше обсуждение.
Некоторые изображения не имеют цветовой палитры, например следующая 24-битная цветовая карта:
Данные заголовка следующие:
Согласно приведенному выше обсуждению, мы можем знать, что biBitCount равен 24 (0x18), bfOffBits равен 54 (0x36), то есть палитры нет, а заголовок битовой информации находится рядом с данными изображения.
Данные в палитре представляют собой группу из 4 байтов каждая, представляющую значения синего, зеленого, красного и альфа-канала. Возьмите первое изображение в качестве примера:
индекс | синий | зеленый | красный | Alpha |
01 | 10 | 37 | 00 | |
1 | 00 | 10 | 49 | 00 |
2 | 00 | 18 | 44 | 00 |
3 | 01 | 1D | 58 | 00 |
5. Растровые данные
Далее идут растровые данные. Поскольку это 8-битная цветовая карта, каждый пиксель представлен 1 байтом, и каждый байт вынимается и отображается на соответствующем устройстве.
Обратите внимание, что biHeight здесь является положительным числом, указывающим, что изображение инвертировано, начиная с нижнего левого угла до верхнего правого угла и упорядочено в основной последовательности.
Если это 24-битная цветовая карта, она размещается в порядке BGR, а 32-битная цветовая карта располагается в соответствии с BGRAlpha.
Другое правило размещения растровых данных — выравнивание.
Минимальная единица сканирования по умолчанию в Windows составляет 4 байта. Если выравнивание данных удовлетворяет этому значению, скорость сбора данных значительно возрастает. Следовательно, изображение BMP соответствует этому требованию, требуя, чтобы длина каждой строки данных была кратна 4, если этого недостаточно, требуется заполнение битами (заполнение 0), чтобы обеспечить быстрый доступ по линии. В этом случае размер данных растрового изображения не обязательно равен ширине х высоте х байтов на пиксель, поскольку каждая строка также может иметь заполнение 0.
Каждая строка данных после заполнения выглядит следующим образом:
Среди них BPP — это количество бит на пиксель (Bits Per Pixel), то есть biBitCount, Width — ширина, а единица — пиксель или bfWidth.
В нашем примере BPP равен 8, а ширина — 480, что кратно 4, что означает отсутствие заполнения. Давайте посчитаем:
RowSize = 4 * (8 * 480/32) = 480 байт, убедитесь, что заполнение отсутствует.
Затем возьмите в качестве примера 24-битное цветное изображение второго изображения выше, согласно данным, которые вы можете получить:
- biBitCount=0x0018=24;
- bfWidth=0x000001c6=454;
- bfHeight=0x00000053=83;
- biSizeImage=0x0001BA3c=113212;
Согласно расчету без заполнения: 454 * 83 * 3 = 113046 байт, что на 166 байт отличается от реального значения.
Согласно формуле заполнения, каждая строка имеет 4 * (24 * 454/32) = 1364 байта, реальные данные имеют 454 * 3 = 1362 байта, что означает, что каждая строка заполнена 2 байтами 0, всего 83 строки, Всего было заполнено 83 * 2 = 166 байт, что подтвердило наше обсуждение.
В программе мы можем использовать следующий код для вычисления данных для каждой строки:
int bytesPerLine=((bfWidth*biBitCount+31)>>5)2;
Тогда размер растровых данных:
int imageSize=bytesPerLine*bfHeight;
В этом случае после сканирования строки данных последние несколько байтов могут быть заполнены 0, и их необходимо пропустить:
int skip=4-((bfWidth*biBitCount)>>3)
Источник: russianblogs.com
Чем открыть BMP файл
BMP – это один из самый популярных форматов изображений, не использующих сжатия данных. В статье мы узнаем, при помощи каких утилит можно открыть данный формат.
Чем открыть этот формат
Данный формат поддерживают множество приложений, как от сторонних разработчиков, так и от разработчиков Microsoft.
Вариант 1: FastStone Image Viewer
Это довольно известная утилита, позволяющая просматривать изображения.
-
Открываем утилиту. Нажимаем на «Файл», а затем на «Открыть».
Вариант 2: IrfanView
- Запускаем утилиту. Кликаем на «Файл», а затем на «Открыть».
Вариант 3: XnView
- Включаем программу и нажимаем на «Файл», а затем на «Открыть».
Вариант 4: Adobe Photoshop
Рассмотрим, как открыть данный формат в растровом графическом редакторе Фотошоп.
-
Заходим в Фотошоп и стандартно нажимаем «Файл» — «Открыть».
Вариант 5: Gimp
- Заходим в программу и идем по следующему пути: «Файл» — «Открыть».
Данный вариант намного проще предыдущего, так как Гимп, в отличии от Фотошопа, является бесплатным графическим редактором.
Вариант 6: OpenOffice
- Запускаем бесплатный пакет OpenOffice. В меню программы нажимаем на кнопку «Открыть…».
Вариант 7: Google Chrome
BMP-формат, также открывается различными браузерами.
- Заходим в Google Chrome. Зажимаем сочетание клавиш Ctrl+O.
- Появляется окно открытия, через которое находим изображение и кликаем на «Открыть».
- Готово! Рисунок появился в окошке самого браузера.
Вариант 8: Universal Viewer
- Запускаем универсальный просмотрщик изображений, а затем стандартно идем по пути: «Файл» — «Открыть».
Вариант 9: Paint
Стоит отметить, что изображение в формате BMP можно открыть и стандартными средствами операционной системы.
-
Открываем «Пуск», переходим в «Стандартные», а затем заходим в Paint.
Вариант 10: Средство просмотра фотографий Windows
- Заходим в папку с BMP-изображением и открываем «Проводник». Кликаем ПКМ по объекту и в появившемся меню выбираем «Открыть с помощью».
- Переходим на элемент «Просмотр фотографий Windows».
Теперь Вы знаете огромное количество способов, при помощи которых можно открыть изображение BMP-формата.
Комментировать
похожие записи из этого раздела
Комментариев нет, будьте первым кто его оставит
Советуем посмотреть:
Инструкции
Инструкции
Инструкции
Инструкции
Инструкции
Комментируют:
84 комментария
49 комментариев
42 комментария
37 комментариев
33 комментария
Мы в соцсетях:
Это интересно
Инструкции 3 лучших сервиса для создания виртуального номер с целью регистрации в ВК
4 комментария
Инструкции Онлайн-сервисы для поиска музыки по звуку
2 комментария
Инструкции Как войти в BIOS на ноутбуке HP
2 комментария
Инструкции 14 команд CMD, которые должен знать каждый пользователь
Источник: www.softrew.ru
Программы открывающие файлы в форматах bmp
Формат файла bmp относиться к растровым изображением и пользуется немалой популярностью. Его хорошо «понимает» любая операционная система виндовс.
Открытие файла с расширением bmp на компьютере, должно происходить автоматически – достаточно кликнуть по нему дважды левой кнопкой мыши.
Если же у вас этого не происходит, то скорее всего нарушена ассоциация файлов, тогда системе нужно в ручном режиме указать чем его открыть.
Для этого нажмите на ваш файл bmp правой мышью, подведите курсор к строке «открыть с помощью» и выберите любую программу (если таковы установлены) по своему усмотрению, например паинт.
Какой программой открыть расширение bmp
Самый простой способ открыть формат bmp – это программа фотоальбом виндовс. Скачивать ее не нужно – идет вместе с операционкой, то есть должна быть у всех.
Вторая программа «паинт». Скачивать также не нужно – встроена в виндовс по умолчанию, кроме того, ею можно расширение bmp не только редактировать, но и после открытия сохранить в другом формате, например jpg – для просмотра в телефоне.
Третья программа «PhotoScape». Ее придется скачать. Она бесплатна, на русском и при ее помощи кроме просмотра можно картинки bmp обрабатывать.
Четвертое приложение Paint.NET. Она также бесплатная имеет русский интерфейс, удобная и очень проста в использовании, с множеством инструментов для корректировки и редактирования изображений и фото – это как бы заменитель стандартного «Paint»
Пятая программа «GIMP». Ее приравнивают к фотошопу. Это бесплатный графический редактор для профессионального использования, обладающий всеми необходимыми функциями и отличающийся простотой.
Предоставленные выше программы, открывающие файлы в этом формате – далеко не все. Их десятки, но этих обычному пользователю компьютера вполне достаточно. Успехов.
Источник: vsesam.org
Описание файла BMP
Эти файлы BMP можно просматривать с помощью двенадцать существующего (-их) прикладных (-ого) программных (-ого) средств (-а), как правило, Adobe Illustrator CC, разработанного Adobe Systems Incorporated. Оно связано с один основным (-и) типом (-ами) файла (-ов), но часто встречается в формате Bitmap Image File. Чаще всего файлы BMP классифицируют, как Raster Image Files.
Файлы BMP были обнаружены на платформах Windows, Mac и iOS. Они подходят для настольных ПК (и мобильных устройств). Рейтинг популярности основного типа файла BMP составляет «Низкий», что означает, что эти файлы встречаются на стандартных настольных комьютерах или мобильных устройствах достаточно редко.
Если у вас возникли проблемы с открытием файлов BMP, или если вы просто хотите узнать больше о связанных с ними программах и разработчиках см. полную информацию, представленную ниже.
Источник: www.solvusoft.com