動態圖片在網路上無處不在——從表情包到產品展示,從教學動畫到按鈕回饋效果。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 一個退休的機會。
在瀏覽器裡直接完成,檔案不會離開你的電腦:圖片格式轉換