gif中颜色分辨率位的目的

时间:2011-08-19 22:59:12

标签: image

我已经解剖了一个gif图像,这里是标题中的数据: ['G','我','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 个答案:

答案 0 :(得分:5)

你可以无害地编辑它,因为它不需要解码数据 - 它所做的就是描述数据的“源”(该字节的最后三位是适用于这个特定图像的内容)。

标准本身http://www.w3.org/Graphics/GIF/spec-gif89a.txt(第9页)说:

  

此值表示整个调色板的大小   选择图形中的颜色,而不是实际颜色数   在图形中使用。

然后继续添加:

  

应设置此值以指示原件的丰富程度   调色板,即使不是整个调色板中的每种颜色都可用   在源机器上。

所以看起来甚至原作者也没有太多想法如何使用它。并且由于它不是真的有用,我认为它没有被某些软件正确设置。

[我能看到的唯一用途是,如果这个值大于实际使用的颜色深度,你可以添加一个标题/弹出窗口,说“原始图像比这更好”。]