動畫 PNG (.apng)
W3C 標準Animated Portable Network Graphics (APNG) 將 PNG 擴充為支援多影格動畫與靜態圖片;不支援 APNG 的檢視器可能僅會顯示靜態圖片。
將 APNG 轉換為 GIF
免費的瀏覽器端 APNG 轉 GIF 轉換器。在您的裝置上即時轉換檔案。
檢查與中繼資料
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 APNG 檔案:
位元組層級標頭簽章(檔案簽章)
作業系統與檔案分析工具透過檢查開頭的二進位位元組序列來識別 APNG 檔案:
十六進位簽章(偏移量 0):
89 50 4E 47 0D 0A 1A 0AASCII 表示法: ‰PNG....
標準化: W3C 社群群組報告(2021)/ Mozilla 擴充功能
技術規格
| 容器架構 | 包含 acTL(動畫控制)、fcTL(影格控制)與 fdAT(影格資料)區塊的 PNG 區塊串流 |
| 壓縮 | Deflate (zlib) 滑動視窗 LZ77 演算法,並對每張影格套用 2 維自適應過濾 |
| 位元組序 | 大端序(網路位元組順序) |
| 色彩空間 | sRGB, Display P3, 內嵌 ICC 設定檔(iCCP) |
| 色版與結構 | RGBA(每通道 8 位元或 16 位元真實色彩 + 8 位元透明度) |
| 最大尺寸 | 2,147,483,647 x 2,147,483,647 像素(PNG 31 位元限制) |
| 透明度 | 完整的 8 位元透明度通道(256 級平滑半透明) |
| 串流與漸進式 | 檔案包含靜態圖片;支援 APNG 的檢視器可以播放動畫,而其他檢視器可能僅顯示靜態圖片 |
技術比較矩陣:APNG 對比競爭格式
| 技術屬性 | APNG (目前) | GIF | WEBP | AVIF |
|---|---|---|---|---|
| 色彩深度 | 24 位元 RGB(16.7M 種顏色) | 8 位元索引色 (256 色) | 24 位元 RGB(16.7M 種顏色) | 10 位元 / 12 位元 HDR |
| 透明度 | 8 位元平滑透明度 (256 級) | 1 位元開關二元遮罩 | 8 位元平滑透明度 | 8 位元 / 10 位元平滑透明度 |
| 向下相容性 | 部分 PNG 檢視器可以顯示靜態圖片;動畫需要 APNG 支援 | 支援情況因瀏覽器而異。 | 舊版檢視器不支援 | 舊版檢視器不支援 |
| 壓縮效率 | Deflate(中等) | LZW(差) | VP8 關鍵影格 / 差值影格(高) | AV1 影格間(超高) |
常見損壞模式與十六進位修復指南
動畫僅播放第一格,且永不循環或前進。
根本原因: 位於第一個 IDAT 區塊之前的「acTL」(動畫控制)區塊遺失或損毀。
修復: 使用 apngasm 或 File2File.app 動畫轉換器重新封裝影格,以重建有效的動畫控制區塊。
安全性分析與解析器攻擊向量
APNG 解析器會處理重複的影格控制區塊,其中格式錯誤的尺寸可能會導致整數溢位或堆積耗盡。
已知攻擊向量
- 影格偏移(x_offset / y_offset)計算中的整數溢位,導致超出界限的影格合成。
- 不相符的影格寬度與高度,導致在影格混色期間發生緩衝區讀取過量。
- 無限的動畫解壓縮迴圈,耗盡後端縮圖產生服務中的 CPU。
防禦最佳實務: 在進行點陣化之前,請驗證動畫畫布的總邊界並限制允許的最大影格數。
歷史起源與里程碑
2021W3C 正式將 APNG 規格註冊為公認的社群標準。
2017Google Chrome 59 新增原生 APNG 支援;瀏覽器支援仍取決於瀏覽器與版本。
2008Apple 採用 APNG 用於 iOS 動態貼圖與 Safari 瀏覽器圖形。
2004Stuart Parmenter 與 Vladimir Vukicevic 為 Mozilla Firefox 網路狀態動畫指定 APNG。
主要優勢與優點
- 完整的 24 位元 RGB 色彩加上 8 位元透明度,完全消除了 1 位元 GIF 透明度的鋸齒邊緣瑕疵。
- APNG 檔案包含靜態圖片;忽略動畫區塊的解碼器可以將其顯示為靜態圖片。
- 許多目前的瀏覽器都支援 APNG 播放;可用性取決於瀏覽器與版本。
技術限制與缺點
- 檔案大小大於 WebM 或 MP4 等現代影片式動畫格式。
- 與舊版 GIF 相比,產生時的編碼複雜度與 CPU 使用率較高。
- 缺少專用影片編解碼器中的跨影格動態向量預測。
有趣的技術冷知識
- 官方 PNG 開發群組在 2007 年拒絕了 APNG,轉而偏好另行制定的 MNG 格式,但後者最終未能獲得普及。
- Apple 在 iOS 10 訊息 App Store 中將 APNG 用於動態貼圖,推動了龐大的行動端採用率。
- 如果您在 1990 年代的遠古圖片檢視器中開啟 APNG 檔案,它會直接顯示第一影格而不會當機。
常見技術問題
為什麼 APNG 比 GIF 更好?
APNG 支援 1,670 萬種色彩與 256 階平滑的 Alpha 透明度;GIF 則受限於 256 種色彩與生硬的 1 位元透明度。
目前的瀏覽器支援 APNG 嗎?
許多目前的瀏覽器都支援 APNG 播放,但可用性取決於瀏覽器與版本。
我可以將 APNG 轉換為標準的 GIF 或 MP4 嗎?
可以。File2File.app 可以直接在您的網頁瀏覽器中,將 APNG 動畫轉換為輕量級的 GIF、MP4 或 WebM 檔案。