我已经解剖了一个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种可能的颜色,即使图像有更多)。我尝试编辑这个号码,它似乎没有改变任何东西。有人可以解释颜色分辨率位的目的吗?
答案 0 :(得分:5)
你可以无害地编辑它,因为它不需要解码数据 - 它所做的就是描述数据的“源”(该字节的最后三位是适用于这个特定图像的内容)。
标准本身http://www.w3.org/Graphics/GIF/spec-gif89a.txt(第9页)说:
此值表示整个调色板的大小 选择图形中的颜色,而不是实际颜色数 在图形中使用。
然后继续添加:
应设置此值以指示原件的丰富程度 调色板,即使不是整个调色板中的每种颜色都可用 在源机器上。
所以看起来甚至原作者也没有太多想法如何使用它。并且由于它不是真的有用,我认为它没有被某些软件正确设置。
[我能看到的唯一用途是,如果这个值大于实际使用的颜色深度,你可以添加一个标题/弹出窗口,说“原始图像比这更好”。]