1.Png 簡介。
我們知道Png 有4個通道,RGBA, 多了一個表示透明的。png 有 png 32, 24, 8 等。 大致我理解的是表示顏色的多少。 數字越小,文件就越小。常見的壓縮方式是導入一張圖到做圖軟件中,然后導出png 8,而且帶 alpha,這樣就達到壓縮目的。當然是有損的壓縮。一張張圖弄非常麻煩,我在想有沒有C++代碼能夠搞定的,然后做個簡單軟件批量壓縮png。
2.pngquant 使用
去google 發現了這個東西,打開主頁看了了,很不錯。 地址:http://pngquant.org/
能把一個png平均壓縮掉70%,並且肉眼看不出有非常大的損耗。當然輸出的質量也是可控制的。
原圖,1024x1024 877KB
選50質量壓縮后的圖:1024x1024 208KB,壓縮率高達0.23
還是有透明效果的!
3.windows 下簡單使用批處理循環處理全部png
pngquant 是有在github上host了整個lib的代碼。是c代碼。能夠用。只是官方有寫好的exe,能夠直接拿來用。使用方法:
詳細樣例:
pngquant -f --ext .png --quality 50-50 Ui.png (以50質量來處理圖片,直接覆蓋掉原圖片)
我們能夠做一個批處理:新建一個txt,后綴改成bat,寫入以下內容(當然你質量能夠作為用戶輸入的變量):
echo "開始處理..." for /R %%i in (*.png) do ( pngquant -f --ext .png --quality 50-50 "%%i" ) pause
我從80質量測試到20,發現50比較接近做圖軟件導出的png 8格式。只是80質量的壓縮效率已經很高了,強烈建議使用80。
4.批處理和pngquant打包下載地址
http://www.waitingfy.com/?attachment_id=1152
下載會得到pngquant.ext 和Compression.bat, 復制到你要批量壓縮png的目錄里,點擊Compression.bat就會批量壓縮png了。
注意:會替換原圖,請單獨復制一份資源來操作!!
假設你是mac或者linux用戶,請到官方下載相應版本號,使用命令的形式。用find xx。
參考: