APNG是Mozilla在2008年發布的壹種圖片格式,旨在取代質量較差的GIF動畫。它其實只是PNG格式的壹個擴展,所以Mozilla壹直想把它納入PNG標準,但是壹直沒有得到PNG組織的官方認可。
MNG
在APNG之前,它還有壹個老朋友叫MNG(multi-image network graphics),也就是多映像網絡圖形。1996年6月提出PNF(便攜式網架)草案,同年8月更名為MNG。MNG規範1版本於2006年10月31日發布。MNG是由巴布亞新幾內亞開發團隊創建的。但由於MNG庫結構復雜,使用過程會占用大量資源,早期很少有瀏覽器支持,Chrome、IE、Opera、Safari從來不支持。
APNG
2004年,來自Mozilla公司的兩位Mozilla程序員Stuart Parmenter和Vladimir Vuki。伊薇?* * *設計了APNG,他們希望Mozilla社區可以使用它,但是提議失敗了。
圖書館圖書館
2006年,在谷歌代碼之夏活動期間,加拿大聖理查德學院的學生在libpng庫中添加了對APNG的支持,隨後開發者再次向Mozilla社區推薦,但仍被拒絕。
第壹支持
2007年3月23日,Mozilla意識到它在Mozilla Firefox 3.0中首次支持APNG格式。
標準化應用
2007年4月20日,Mozilla希望APNG成為官方標準,於是PNG組織發起投票,最終以8: 10的票數否決了APNG進入官方標準,因為PNG組織決心繼續推廣MNG,但這並不影響Mozilla繼續支持APNG。
為什麽誕生於1987的GIF能存活這麽久?
有四個主要原因:
1.圖像質量
如果您使用非Firefox或Safari瀏覽器,為了向後兼容,APNG格式的圖片將顯示為靜態圖片。妳可以替換Firefox或Safari瀏覽器,或者在Chrome瀏覽器中安裝谷歌Chrome的APNG擴展以實現兼容性。通過比較兩者,可以總結出以下差異:
GIF:
APNG:
2.圖像尺寸
從GIF、APNG、WebP的幾組對比可以發現,無論是純色圖片還是彩色圖片,APNG在大多數情況下還是比GIF、WebP、有損WebP小。
APNG是基於PNG格式的擴展。首先,我們需要了解壹個簡單的PNG文件組合結構:
巴布亞新幾內亞簽名| IHDR | IDAT | IEND
PNG由四部分組成,以PNG簽名開始(PNG塊,後面是IHDR(圖像頭塊),然後是壹個或多個IDAT(圖像數據塊),最後以IEND(圖像結束塊)結束。
APNG規範引入了三種新的塊,即acTL(動畫控制塊)、fcTL(幀控制塊)和fdAT(幀數據塊)。下圖是由三個獨立的PNG文件組成的APNG的示意圖。
從圖中我們可以發現第壹幀和後面兩幀是不壹樣的。這是因為第壹幀中的APNG文件存儲了壹個普通的PNG數據塊。對於不支持APNG的瀏覽器或軟件,只會顯示APNG文件的第壹幀,後面附加的動畫塊會被忽略。這就是為什麽APNG可以向後兼容PNG。
APNG將通過壹種算法計算幀之間的差異,並且只存儲幀之前的差異,而不是存儲整個幀,這顯著減小了APNG文件的大小。
已經有很多工具支持制作動畫PNG圖片,相信以後會越來越多。
如果只是想體驗壹下制作的效果,可以用這個網站快速生成:匯編器。
制作動畫PNG的工具和方法參考
感謝您的閱讀。
本文主要摘自《凹凸實驗室》中的APNG。歡迎關註凹凸實驗室。