GIF vs apng
GIF 雖然是最常見的動態圖演算法但其實非常落後,它的核心問題在於
1. 只支持 8 bit 顏色,就是只能呈現 256 種顏色,所以 GIF 是無法展現人眼所見的真實彩色畫面的。相比之下 apng 支持 24 bit (16.7 million + 種顏色),能還原的畫面就比 GIF 順滑細膩真實多了 (見圖1,背景有明顯的「層次感」,不能平滑漸變)
2. GIF 的透明色版 (Alpha Channel) 只有 1 bit,也就是一個像素要麼全透明要麼完全不透明,因此如果做透明背景的 GIF 就很容易出現白色鋸齒狀毛邊(像素難以絕對平滑過渡,半透明像素變成了白色)。而 apng 的 alpha channel 是 8 bit 的,支持半透明,因此動圖可以做到順滑無雜邊(見圖2)。
雖然 apng 性能上基本全方位吊打 gif,但是 apng 現在的兼容性還是不如 GIF,就拿 mastodon 來說,就算 emoji 只能傳 png 格式(apng 的後綴還是 .png),iOS 的 mastodon app 據我了解也都不支持 apng 播放,所以看到的 emoji 都是靜態的(除非直接用瀏覽器)。
@gfis 杯杯在學什麼 數媒相關嗎