动态图片在网路上无处不在——从表情包到产品展示,从教学动画到按钮回馈效果。GIF 已称霸这个领域长达三十年,几乎成为“动态图”的代名词。但它的技术限制也同样臭名昭著:刺眼的色彩失真、庞大的档案体积。APNG 作为后起之秀,试图在同样的应用场景中取而代之。本文深入比较两者的优缺点,并讨论 WebP 动图这个越来越受关注的第三种选择。
GIF 的诞生与现况
GIF(Graphics Interchange Format)由 CompuServe 于 1987 年开发,1989 年加入动画支援。作为一个三十多年前的格式,它的技术规格在今日看来相当原始:
- 每帧最多只能使用 256 种颜色(8 位元色彩)
- 不支援半透明——只有“完全透明”或“完全不透明”两种状态
- 使用 LZW 压缩,对照片类内容压缩效率很差
- 无法储存声音
尽管如此,GIF 依然顽强生存,原因在于其无与伦比的相容性——几乎所有装置、所有浏览器、所有平台都支援 GIF,包括非常古老的系统。
GIF 的 256 色限制:问题有多严重?
256 色的限制对不同类型的图片影响大相径庭。对于简单的图示动画、文字效果、像素艺术,256 色通常足够,不会造成明显问题。但对于照片、色彩丰富的插图或渐层效果,问题就很明显:
- 渐层色会出现明显的色带(每个色阶跳跃都清晰可见)
- 为了模拟更多颜色,GIF 会使用“抖动”(dithering)技术,在像素层级混合颜色,但这会让图片出现颗粒感噪点
- 肤色、天空渐层、金属光泽等效果往往惨不忍睹
这就是为什么你见过的许多表情包都带有一种独特的复古颗粒感——那不是风格,而是格式限制的副作用。
APNG:动态 PNG 的正确做法
APNG(Animated PNG)由 Mozilla 工程师 Stuart Parmenter 和 Vladimir Vukicevic 于 2004 年提出,旨在用现代技术重新实现 GIF 的核心功能,同时修正所有缺点。
APNG 的关键技术特点:
- 全色彩支援:每帧最多支援 1,680 万种颜色(24 位元),以及 8 位元 Alpha 通道,共 32 位元色彩深度
- 真正的透明度:支援从完全透明到完全不透明的 256 个透明度等级,边缘可以完全平滑
- 无损压缩:每帧使用与 PNG 相同的 DEFLATE 压缩,对图形类内容效率良好
- 向后相容:不支援 APNG 的旧版浏览器会显示第一帧作为静态图片,不会出现损坏
档案大小比较
这是一个复杂的问题,没有统一答案,取决于内容类型:
对于简单图形动画(图示、像素艺术、简单插图):
- GIF 和 APNG 差距不大,有时 GIF 甚至更小(因为 256 色强制大幅简化了资料量)
对于复杂或照片类内容:
- APNG 通常比 GIF 更小,因为 GIF 的抖动噪点对压缩非常不友好,而 APNG 的无损压缩对平滑区域效率很高
对于全彩复杂动画:
- GIF 由于颜色强制简化,有时反而比 APNG 更小——但画质也同样严重劣化
浏览器支援
APNG 的浏览器支援状况如下:
- Chrome:59 版起支援(2017 年)✓
- Firefox:早在 2007 年起支援(Firefox 3)✓
- Safari:8 版起支援(2014 年)✓
- Edge:79 版起支援(2020 年)✓
- Internet Explorer:不支援 ✗
APNG 的全球浏览器支援率目前约为 97%,与 WebP 相当。对于绝大多数现代应用,APNG 的相容性已不再是问题。
WebP 动图:被低估的第三种选择
许多人不知道 WebP 也支援动画。WebP 动图相比 GIF 和 APNG 有几个显着优势:
- 档案大小:Google 的测试显示,动态 WebP 比相同内容的 GIF 平均小 64%,比动态 PNG(APNG)也小 19%
- 全彩支援:与 APNG 相同,支援完整的 24 位元色彩
- 有损和无损两种模式:对于复杂的照片类动画,可以使用有损模式进一步缩小档案
动态 WebP 的主要限制是:创作工具支援不完整(许多 GIF 制作工具不支援输出 WebP),以及相容性略低于 APNG(但差距已非常小)。
各格式适用场景总结
- GIF:当你需要最广泛的相容性(包括非常旧的系统);简单的像素艺术或图示动画;快速分享到任何平台无需考虑格式支援时
- APNG:需要全彩动画且必须无损时;需要平滑透明度(半透明阴影、渐变边缘)时;Logo 动画或带有透明背景的 UI 动效
- 动态 WebP:优先考虑档案大小时;现代浏览器环境下的网页动画;需要有损压缩的照片类动态内容
如何选择
- 需要支援非常旧的浏览器或系统吗?→ 选 GIF
- 动画包含照片或丰富色彩吗?→ 排除 GIF,考虑 APNG 或动态 WebP
- 需要半透明效果吗?→ 选 APNG 或动态 WebP
- 优先考虑最小的档案大小吗?→ 选动态 WebP
- 需要在电子邮件中使用吗?→ 选 GIF(电子邮件客户端对 APNG 和 WebP 支援很差)
总结
GIF 之所以在技术上早已“过时”却仍然活跃,是因为相容性就是一种功能。但如果你有选择的自由,APNG 在视觉品质上全面超越 GIF,而动态 WebP 在档案大小上更进一步。技术在进步,下次制作动态图片时,不妨考虑给 GIF 一个退休的机会。
在浏览器里直接完成,档案不会离开你的电脑:图片格式转换