有損的png壓縮開源庫:pngquant

jopen 8年前發布 | 24K 次閱讀 Android開發 移動開發

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,且破解版不適合商用
  • 壓縮率較高

默認參數下,tinypngpngquant壓縮率對比

圖片 原圖大小 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

來自: http://www.jianshu.com/p/a721fbaa62ab

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!