Android官方文檔中Supported Media Formats部分介紹了Android支持的多媒體格式,Android支持的圖片格式如下圖。
本文對這幾種圖片格式做個學習總結
JPEG
JPEG(發音為jay-peg, IPA:[ˈdʒeɪpɛg])是一種針對照片視頻而廣泛使用的一種壓縮標准方法。這個名稱代表Joint Photographic Experts Group(聯合圖像專家小組)。
- 常用的.jpg文件是有損壓縮
- 不支持背景透明
- 適用於照片等色彩豐富的大圖壓縮
- 不適用於logo,線圖
GIF
GIF,圖像互換格式(GIF,Graphics Interchange Format)是一種位圖圖形文件格式,以8位色(即256種顏色)重現真彩色的圖像。它采用無損壓縮技術,只要圖像不多於256色,則可既減少文件的大小,又保持成像的質量。
- 優秀的壓縮算法使其在一定程度上保證圖像質量的同時將體積變得很小。
- 可插入多幀,從而實現動畫效果。
- 可設置透明色。
- 由於采用了8位壓縮,最多只能處理256種顏色,故不宜應用於真彩色圖片。
PNG
PNG,便攜式網絡圖形(Portable Network Graphics,PNG)是一種無損壓縮的位圖圖形格式,支持索引、灰度、RGB三種顏色方案以及Alpha通道等特性。
- 支持256色調色板技術以產生小體積文件
- 最高支持48位真彩色圖像以及16位灰度圖像。
- 支持Alpha通道的透明/半透明特性。
- 支持圖像亮度的Gamma校准信息。
- 支持存儲附加文本信息,以保留圖像名稱、作者、版權、創作時間、注釋等信息。
- 使用無損壓縮。
- 漸近顯示和流式讀寫,適合在網絡傳輸中快速顯示預覽效果后再展示全貌。
- 使用CRC防止文件出錯。
- 最新的PNG標准允許在一個文件內存儲多幅圖像。
Android開發中的切圖素材多為.png格式。
BPM
BMP(全稱Bitmap)是Windows操作系統中的標准圖像文件格式,可以分成兩類:設備相關位圖(DDB)和設備無關位圖(DIB),使用非常廣。它采用位映射存儲格式,除了圖像深度可選以外,不采用其他任何壓縮,因此,BMP文件所占用的空間很大。
BMP文件的圖像深度可選lbit、4bit、8bit及24bit。BMP文件存儲數據時,圖像的掃描方式是按從左到右、從下到上的順序。
WebP
WebP(發音weppy),是一種同時提供了有損壓縮與無損壓縮的圖片文件格式,派生自視頻編碼格式VP8,是由Google在購買On2 Technologies后發展出來,以BSD授權條款發布。
從官網介紹來看,無損的WebP圖片比PNG小26%,有損的WebP圖片比JPEG小25-34%,同時,無損WebP支持透明及alpha通道,有損在一定條件下同樣支持。
WebP 的優勢體現在它具有更優的圖像數據壓縮算法,能帶來更小的圖片體積,而且擁有肉眼識別無差異的圖像質量;同時具備了無損和有損的壓縮模式、Alpha 透明以及動畫的特性,在 JPEG 和 PNG 上的轉化效果都非常優秀、穩定和統一。
相較編碼JPEG文件,編碼同樣質量的WebP文件也需要占用更多的計算資源。
Android 4.0+默認支持WebP,Android 4.2.1+開始支持無損WebP和帶alpha通道的WebP。
參考資料: