Что такое BMP… Форматы графических файлов: Индексированные цвета

fedorovsky, Новичок (5), сегодня

В 64-битных BMP за цветами дополнительно следует 16-битный альфа-канал. Если захотите 64-битный пиксель обработать цельным машинным словом, то в little-endian синий окажется в младших 16 битах, а альфа-канал: в старших. Зелёный, соответственно, будет рядом к красным, а синий — рядом с альфа. И можно заметить что в 24-ёх битах формат пикселя соответствует структуре RGBTRIPLE из таблицы цветов. Высота растра при этом должна быть указана положительным числом.

32 ОТВЕТА:
Азгур Измаил, Продвинутый (77), сегодня


Алеся Ковчарова, Новичок (3), сегодня

Естественно, что и программы просмотра и редактирования этих форматов разные.


Тимур, Эксперт (496), сегодня

В последних версиях формата BMP также появились возможности по управлению цветом.


Елена Ворник, Оракул (925), сегодня

В формате Windows Bitmap RLE-кодирование можно сравнить с прорисовкой простыми командами.


Константин Семенов, Продвинутый (35), сегодня

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


Алеся Ковчарова, Новичок (3), сегодня

Что касается графических форматов файлов, то у них свои особенности.


Oksana Golovataya, Мастер (203), сегодня

Количество цветовых плоскостей и в формате BMP содержит единицу.


DNK, Оракул (1094), сегодня

В формате BMP изображения могут храниться как есть или же с применением некоторых распространённых алгоритмов сжатия.


Маврикий, Ученик (12), сегодня

Расширение BMP обычно используется для хранения растровых изображений.


Тимур, Эксперт (496), сегодня

Просто с форматом .bmp работает огромное количество программ, а формат .jpeg является наиболее популярным.


Зенкевич Петр, Продвинутый (44), сегодня

Максимальный размер неделимых ячеек (исключая поля битовых структур): 32 бита и поэтому формат можно классифицировать как 32-битный.


Моя Твоя Не Понимай, Эксперт (577), сегодня

В ЦОИ скорее теоретически представляю что к чему. А вообще по работе я иногда занимаюсь обработкой несколько специфических изображений (радиоизображений).


Алексей Никифоров, Новичок (4), сегодня

Когда Вы видите красивую разноцветную картинку (фотографию), которая радует глаз — это картинка растрового графического формата.


Владимир Займур, Мастер (244), сегодня

А это самый простой формат.


Всезнайка, Мастер (159), сегодня

Из-за идентичности полей в версиях 3, 4 и 5 может показаться, что полем Size можно регулировать количество полей, убирая неиспользуемые.


Константин Семенов, Продвинутый (35), сегодня

Привет 1. Создание картинки в формате bmp. Здесь создается однотонная картинка.


Олег Семьянов, Мастер (185), сегодня

BMP – это стандартный, не сжатый битовый графический формат, используемый в Windows.


Захар, Новичок (3), сегодня

Формат BMP со временем дополнялся и по значению этого поля определяется версия формата.


Товарищ Маузер, Новичок (8), сегодня

В принципе, сам формат BMP можно назвать даже несколько устаревшим, поскольку сегодня его мало кто использует.


Надежда Белявская, Новичок (2), сегодня

Эта статья про то, как выглядит графический формат bmp. Хоть это и один из простых форматов, но из-за того, что существует много вариаций этого формата, то не все моменты очевидны.


DNK, Оракул (1094), сегодня

Для каждой группы битностей используются отдельные ограниченные значения Compression, но в совокупности их значения уникальны.


Александр Первый, Ученик (21), сегодня

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


Старик х@табыч, Оракул (968), сегодня

То есть используется в данном с формате палитра или нет. Заметьте, что палитра может быть даже в беспалитровых форматах, только там она не используется.


Александр Первый, Ученик (21), сегодня

Формат ICC в своём заголовке использует преимущественно 32-битные или кратные этому размеру ячейки.


Петя Ануфриев, Эксперт (642), сегодня

Нахожу ее и что делаю? Правильно.


Olga Danilova, Продвинутый (79), сегодня

Графический формат — это способ записи графической информации.


Исак Абель, Эксперт (437), сегодня

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


Маруся, Эксперт (697), сегодня

Ширина изображения в пикселях. Для Win98/Me и Win2000/XP: если поле biCompression содержит BI_JPEG или BI_PNG, здесь указана ширина распакованного изображения.


Исак Абель, Эксперт (437), сегодня

История создания этого формата неразрывно связана с корпорацией Microsoft, которая впервые реализовала его в своем главном детище – операционной системе Windows.


Звездная Фея, Продвинутый (54), сегодня

Все разновидности формата bmp условно можно разделить на два типа: палитровые и беспалитровые.


Азгур Измаил, Продвинутый (77), сегодня

24-битная структура RGBTRIPLE. Применяется если BITMAPINFO начинается со структуры BITMAPCOREHEADER. RGBTRIPLE состоит из трёх байтовых ячеек (WinAPI-тип BYTE), в которых указывается цвет в модели RGB: rgbtBlue (синий), rgbtGreen (зелёный) и rgbtRed (красный). 16-битные индексы цветов (беззнаковые целые числа) в текущей логической палитре контекста устройства (системные объекты Windows GDI). Этот вид доступен только во время выполнения приложения. Формат BMP не поддерживает явное указание, что используется такая таблица и поэтому приложение само извещает WinAPI-функции об этом в специальных параметрах (как правило константой DIB_PAL_COLORS). Задействованные ячейки лучше размещать в самом начале таблицы и рекомендуется при этом отсортировать их по убыванию степени важности (на случай если придётся уменьшить их количество). Если битность изображения 16 или 32, то могут быть указаны 32-битные маски для извлечения цветовых каналов. Это связано с тем, что 16 не кратно трём и поэтому биты могут быть распределены разными способами. В 32-битных изображениях из-за удобства используют 8-битные каналы и поэтому поддержка для них может показаться избыточной. В действительности здесь маска даёт возможность включить/отключить альфа-канал или установить удобный вам порядок следования компонент, а не только регулировать их разрешение. При применении масок ячейка пикселя считывается целиком как соответствующее машинное слово в litte-endian. Положение битовых масок фиксировано независимо от версии заголовка: 36h во всём файле или 28h от начала блока BITMAPINFO. В документации Microsoft к битовым маскам применяется только одно обязательное требование: каждая маска должна быть непрерывной. Про случай пересечения масок там сказано, что желательно этого не делать. Microsoft также говорит о том, что не обязательно задействовать все биты пикселя. Если взять первый вариант интерпретации с единственным альфа-каналом, то альфа-канал по сути будет задавать степень зачернения пикселя. Кроме неопределённых вариантов есть также и интересный. Так как пересечения не запрещены, то можно все каналы выставить на одну позицию и тем самым получить Grayscale. В файле положение пиксельных данных можно узнать из поля OffBits структуры BITMAPFILEHEADER. Во время выполнения приложение хранит адрес пиксельных данных там, где удобней. В документации Microsoft также упоминаются так называемые пакетные (англ. packed) битмапы, которые указываются одним адресом блока BITMAPINFO. У таких битмапов пиксельные данные следуют сразу за заголовком (включая помимо информационных полей битовые маски и таблицу цветов). Размер пиксельных данных в байтах записывается в поле SizeImage структуры BITMAPINFO. Туда записываются именно «сырой» размер того непрерывного блока, который содержит данные для формирования пикселей (независимо от формата), а не какой-нибудь распакованный. По умолчанию это поле обязательно должно содержать актуальное значение, так как по нему можно точно узнать сколько именно байт нужно считать из файла для получения пикселей.


Похожие вопросы:

Добавить комментарий