何时以及为何要将 GIF 转换为 APNG
GIF和APNG都是动图格式,但技术底层的差异很大。GIF(Graphics Interchange Format)于1987年诞生,使用LZW压缩,仅支持256色调色板和二值透明——像素要么完全透明要么完全不透明。APNG(Animated Portable Network Graphics)在2008年左右开始获得浏览器支持,它扩展了PNG格式以支持动画,提供24位RGB色彩(1670万色)和8位alpha通道(每像素256级透明度)。
转换时发生了什么
将GIF转换为APNG会保留动画的帧序列、播放时序和循环设置,同时升级编码方式。每一帧从GIF的索引色板重新编码为真彩色RGBA像素。PNG的deflate压缩在大面积纯色区域通常比GIF的LZW压缩更高效——这意味着许多GIF,尤其是背景为大块纯色的动图,转换后APNG文件反而更小。
APNG有明显优势的场景
- UI动画和图标——投影、发光效果和透明区域的抗锯齿边缘在APNG中平滑自然;GIF则显示粗糙的锯齿边缘
- 贴纸和表情——支持APNG的平台(Telegram、LINE等)可以呈现边缘清晰的透明贴纸
- 游戏素材——带有平滑alpha边缘的精灵图可直接导入游戏引擎
- 渐变和摄影类内容——24位色彩深度消除了GIF将渐变量化到256色时出现的色带
浏览器兼容性
APNG在Chrome(59+)、Firefox(3+)、Safari(8+)、Edge(12+)及大多数Chromium内核浏览器中得到支持。Internet Explorer不支持APNG。对于要求GIF格式的平台(如Twitter/X、Discord、Slack),可使用APNG转GIF转换器生成兼容版本。
