2013-07-20 5 views
1

Это дополнительные заголовки? Я хочу, чтобы из двух двоичного массива, который я получаю из другой программы, нужно создать простое двухцветное (черно-белое) 8-битное изображение. Какие-либо предложения?почему размер 1x1 8 бит bmp составляет 1082 байта. 24 бит составляет всего 58 байт?

Н.С.

ответ

3

8-битный BMP использует таблицу цветов, которая имеет 256 записей (по одному для каждого значения байта) 4 байта каждый (3 для RGB и 1 для альфа или просто для выравнивания). (Но: прочитайте комментарий пользователя763305.)

В любом случае, посмотрите на формат PNG, это, как правило, самый простой формат для обмена файлами без потерь. Вы можете выбирать между 1-битным оттенком серого (т. Е. B & W) и 8-битным оттенком серого.

+1

таблицы цветов могут иметь меньше, чем 256 записей. Количество записей в таблице цветов является одним из полей заголовка. Но некоторое программное обеспечение, которое создает 8-битные файлы BMP, всегда хранит 256 записей. 8-битный BMP - это довольно устаревший формат. – user763305

+0

спасибо @ user763305, +1 (* 0 ...) –

1

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

Вы можете, однако, приблизиться к одному из двоичных форматов Netpbm. Это должно быть в основном сырые байты с очень простым заголовком, добавленным к фронту.

http://en.wikipedia.org/wiki/Netpbm_format

Посмотрите конкретно на P4, которая имеет следующий формат заголовок следует черно-белой бинарному

P4 
# filename.pbm 
24 7 
Смежные вопросы