为啥水平渐变的GIF图片压缩效果不如垂直渐变的明显

LZW算法中,只有在字典中已经有了abc的情况下,再遇到一次abcd才会把abcd也加入字典。所以,对于水平渐变的图片,设宽度为w,则虽然行与行是重复的,但LZW算法在处理了w-1行的数据之后才会把一整行的像素组合方式都加入字典,所以,当高度小于w时,它的压缩率没有你想象的那么大。对于垂直渐变的图片,每一行都只包含一种颜色的像素,只要宽度越大,它的压缩率就越大,和高度无关。笼统地说,当图片的宽高比超过一个阈值时,只要图片的宽高比越大,垂直渐变的图片的压缩率就领先水平渐变的压缩率越多。你可以尝试去创建一个宽高比很小的图片再做一次实验,应该就可以得到你期望中的结果了。参考:http://en.wikipedia.org/wiki/Lempel%E2%80%93Ziv%E2%80%93Welch


    推荐阅读