有损与无损 GIF 压缩
阅读约 2 分钟
GIF 压缩分为两类。理解它们的区别,才能得到既最小又好看的文件。
无损:像素不变,数据更少
GIF 把每一帧存为调色板索引,并用 LZW 压缩。无损优化保持每个像素不变,只是存得更高效:
- 帧差分:只保存和上一帧相比发生变化的矩形区域;
- 透明化:把没变化的像素标记为透明,更利于压缩;
- 清理调色板:去掉没用到的颜色和多余的元数据。
通常能省 10%–40%,结果与原图逐像素一致。没有理由不做,所以 GifSmaller 总是从这一步开始。
有损:像素略有不同,数据少得多
有损 GIF 压缩(gifsicle 的 --lossy 参数)允许编码器在能让 LZW 压缩得更好时,选用相近的像素值。结果仍然是 GIF,帧时间不变,只是细节略有变化。
| 无损 | 有损 | |
|---|---|---|
| 像素会变吗? | 不会 | 轻微变化 |
| 额外节省 | — | 通常 30%–70% |
| 可见瑕疵 | 无 | 级别高时有颗粒、噪点 |
| 适用场景 | 所有 GIF | 需要满足大小上限时 |
瑕疵最先出现在平滑渐变、天空和肤色上;卡通纯色和文字则不太容易看出来。
其他减小 GIF 的方式
有损和无损并不是全部手段:
- 减少颜色(如 256 → 64):适合扁平图形,照片会出现色带;
- 缩小尺寸:效果最强,体积随像素面积变化;
- 减少帧数:会改变动画,需要有意为之。
GifSmaller 怎么选
设定目标大小时,GifSmaller 会先做无损,再寻找能满足目标的最低有损级别,最后才缩小尺寸。在 高级 模式下,你可以自己设置有损程度、颜色数和尺寸,并对比预览。分步说明见 如何把 GIF 变小。
用你的 GIF 试试
在浏览器里压缩,免费,不上传任何文件。
打开压缩工具