gif中颜色分辨率位的目的

mal*_*lex 6 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种可能的颜色,即使图像有更多).我尝试编辑这个号码,它似乎没有改变任何东西.有人可以解释颜色分辨位的目的吗?

and*_*oke 6

您可以无害地编辑它,因为它不需要解码数据 - 它只是描述数据的"源"(该字节中的最后三位是适用于此特定图像的内容).

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

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

然后继续添加:

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

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

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