Почему информация bpp по адресу 0x1C в этом изображении .bmp неверна?

Шестнадцатеричный редактор

Адрес 1D указывает, что изображение имеет восемь битов на пиксель, но это не так, каждый пиксель представлен 3 байтами (24 бита).

Сначала я подумал, что фотошоп сделал это по ошибке, но обнаружил, что этот формат используется для всех изображений в оттенках серого.

Почему вместо использования четырех байтов для пикселя изображения .bmp не используют значение от 0 до FF для описания значения оттенков серого для каждого пикселя?

EDIT: я смог ответить на свой вопрос о файловой структуре

из Википедии

Формат 8 бит на пиксель (8 бит на пиксель) поддерживает 256 различных цветов и сохраняет 1 пиксель на 1 байт.

Каждый байт является индексом в таблице до 256 цветов. Эта таблица цветов представлена ​​в формате 32bpp 8.8.8.0.8 RGBAX.

Таблица цветов, показанная в шестнадцатеричном редакторе, составляет четыре байта на пиксель.

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

фактический массив пикселей

Я вычислил это вычислением, изображение 64 x 64, 4096 пикселей.

Массив пикселей начинается с 436 и заканчивается на 1437. В десятичном виде разница между этими двумя числами составляет 4097, поэтому массив пикселей составляет ровно один байт на пиксель.

Мне все еще интересно, зачем нужна таблица цветов для изображения в оттенках серого


person superlazyname    schedule 30.05.2011    source источник
comment
хм... Я не заметил, что числа постоянно увеличиваются, этот формат сложнее, чем я думал сначала. Верхняя треть изображения имеет такое же значение черного, но значения меняются...   -  person superlazyname    schedule 30.05.2011
comment
Глядя на шаблон, я бы сказал, что он использует 4 байта на пиксель.   -  person zneak    schedule 30.05.2011


Ответы (1)


Мне все еще интересно, зачем нужна таблица цветов для изображения в оттенках серого

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

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

person wimh    schedule 12.06.2011