Назначение битов цветового разрешения в подарок - PullRequest
6 голосов
/ 20 августа 2011

Я проанализировал изображение в формате gif и вот данные в заголовке: ['G', 'I', 'F', '8', '9', 'a', '^', '\ x01', '^', '\ x01', '\ x87', '\ x00 ',' \ x00 ',' \ x00 ',' \ x00 ',' \ x00 ',' \ x01 ',' \ x00 ',' \ x00 ',' \ x01 ']

0x87 представляет байт флага в gif. Преобразование этого в двоичные результаты в 0b10000111.

Я использую http://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp в качестве ссылки.

Итак, согласно этому веб-сайту, gif имеет (ноль + 1) цветовое разрешение (2 возможных цвета, даже если изображение имеет гораздо больше). Я попытался отредактировать этот номер, и он, похоже, ничего не изменил. Может кто-нибудь объяснить назначение битов цветового разрешения?

1 Ответ

5 голосов
/ 20 августа 2011

Вы можете редактировать его без вреда, потому что не нужно декодировать данные - все, что он делает, это описывает «источник» данных (последние три бита в этом байте - это то, что относится к этому конкретному изображению).

сам стандарт http://www.w3.org/Graphics/GIF/spec-gif89a.txt (стр. 9) гласит:

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

и затем добавляет:

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

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

[единственное использование, которое я вижу, состоит в том, что если бы это значение было больше фактической используемой глубины цвета, вы могли бы добавить заголовок / всплывающее окно, говорящее «исходное изображение было лучше, чем это».]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...