設計師吐槽:動態表情上線後邊緣全是白色噪點!前端甩鍋:GIF 天生鋸齒。其實早在 2004 年 Mozilla 就推出 APNG(Animated PNG),支持半透明、無鋸齒、體積更小。但兼容性曾是硬傷。本文揭秘 APNG 原理、優化避坑、自研工具鏈 iSparta,讓動圖又美又輕。

GIF 只支持布爾透明(全透明/全不透明),邊緣無法平滑過渡,產生白色鋸齒噪點。APNG 繼承 PNG 24-bit Alpha 通道,完美支持半透明,根治鋸齒。

初期測試 APNG 平均比 GIF 大 3%。但 PNG 24 本身比 GIF 大,直接轉換無優勢。關鍵在於「幀差分壓縮」:

APNG 只記錄幀與幀之間的變化區域數據,鄰近幀共用相同像素,理論體積極小。但若對全幀 PNG24 做有損壓縮,會破壞幀間像素一致性,反而變大。

優化後 APNG 平均比 GIF 小 30%,且零鋸齒。

apng-canvas(GitHub),禮物項目實戰驗證,精細動畫體驗完美落地

跳出 GIF 慣性思維,APNG + 智能優化 + 降級策略,動圖體驗可以更極致。世界因認真而美好。