有損的png壓縮開源庫:pngquant
1 pngquant
pngquant是國外的一個有損的PNG壓縮開源庫,提供了命令行形式和源碼庫形式。
- 通過這個庫的轉化可以顯著減少png文件大小(通常減少70%),并且保持原有透明度通道。
- 生成的圖片文件可以兼容所有現代web瀏覽器,在IE6下比24-bit PNGs也有更好的表現。
2 特性
- 結合vector quantization算法生成高質量的色彩范圍
- 獨特的自適應抖動算法,比標準的FloydSteinberg算法具有更強的抗噪性
- 易與集成,提供了shell腳本,圖形化界面,服務端庫,PS插件
- 具有快速模式,用于處理大批圖片

原圖 75,628字節

pngquant處理后的圖片, 19,996 字節 (壓縮了 73%)
3 使用
為方便在mac下批量調用,我參考johnellmore/Optimize-Images項目,寫了一小段shell腳本,方便mac用戶使用pngquant:PNGCompressForMac
使用方法如下:
sh PNGCompress PATH/TO/YOUR/RES
4 Android下的使用:壓縮res資源
測試了下對項目里Android res文件夾的壓縮情況,結果如下:

執行默認的壓縮

執行結束

前后對比,29.8MB vs 19.6MB
由于Android里的資源很多是icon,色域范圍較大的背景圖比較少,每張圖片的壓縮率沒有宣稱的這么高,但是最后結果還是比較感人的,從29.8M降到了19.6M。
5 對比tinypng
tinypng
是商用的PNG壓縮工具,具有在線壓縮、在線api、ps插件等方式。
- 在線api需要申請api-key,并且對調用次數有限制,可以免費調用500次
- ps插件在win下有破解版的,但咱視覺用的mac版ps,且破解版不適合商用
- 壓縮率較高
默認參數下,tinypng
與pngquant
壓縮率對比
圖片 | 原圖大小 | tinypng | tinypng壓縮率 | pngquant | pngquant壓縮率 |
---|---|---|---|---|---|
png1 | 212KB | 69KB | 67.45% | 111KB | 47.64% |
png2 | 56KB | 23KB | 58.93% | 30KB | 46.43% |
png3 | 549KB | 217KB | 60.47% | 251KB | 54.28% |
png4 | 94KB | 34KB | 63.83% | 54KB | 42.55% |
png5 | 138KB | 46KB | 66.67% | 63KB | 54.35% |
png6 | 118KB | 45KB | 61.86% | 68KB | 42.37% |
average | 63.20% | 47.94% |
6 Reference
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!