一個不錯的 png壓縮工具 pngquant 使用介紹 批量壓縮png
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打包下載地址
下載會得到pngquant.ext 和Compression.bat, 拷貝到你要批量壓縮png的資料夾裡,點選Compression.bat就會批量壓縮png了。
注意:會替換原圖,請單獨複製一份資源來操作!!
如果你是mac或者linux使用者,請到官方下載對應版本,使用命令的形式。用find xx。
參考: