但当你把它逐帧拆开来(需要「专业工具」imagemagick ),就能看到其实每一帧都不是「完整」的:
除了第一帧,后面的帧都是「残破不堪」,但是连在一起播放时又看似正常。简单的理解,通过把前后帧里重复的部分弄成「透明」,自然有效减小了 GIF 体积。现在你下载到的 GIF 图,往往都已经经过了这种处理以追求更小的体积。(想追究原理的戳 这里 )
想要达到这样的压缩优化效果,我推荐使用一款命令行工具 gifsicle,建议通过 homebrew 来安装它。
如果你的电脑里还没有 homebrew,就打开 Terminal,输入这串命令安装 homebrew:
/usr/bin/ruby -e $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
一长串字符闪过之后,接着输入命令安装 gifsicle:
brew install gifsicle
使用 gifsicle 压缩 GIF 时,用这个命令:
gifsicle -O3 [想要压缩的图片] -o [新图片名]
其实 gifsicle 也有着较为丰富可调节参数,但是最实用的还是用 -O3 让它自动为你选择压缩方案,一般能在画质和体积之间取得平衡,并且第一帧之后的每一帧都能得到优化。