1. 程式人生 > >一個不錯的 png壓縮工具 pngquant 使用介紹 批量壓縮png

一個不錯的 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。

參考: