最近發現一招好用的 png 壓縮法:
1. 善用 convert -map
- 代碼: 選擇全部
convert -map old.png old.png new.png
這樣會從 -map 後的檔案裡「全部有使用到的顏色」作為基礎色盤,然後將 old.png 按照此色盤轉檔成 new.png
此例中用 old.png 本身的顏色作為色盤,可確保轉檔後的圖質完全不改變。
(繪圖類的 png 通常顏色數並不多,非常適合此法。照片類就不一定了。)
2. 使用 png 無損壓縮軟體
- 代碼: 選擇全部
optipng -o7 old.png new.png
(optipng -o7 效果似乎比 pngcrush -brute 還好)
3. 注意! 若有使用 convert -map 轉 png, 一定要再用 png 壓縮軟體壓過,不然檔案大小可能不減反增…
實例:
原始檔:
- 代碼: 選擇全部
571012 old.png
用 convert -map 轉檔後
- 代碼: 選擇全部
723096 new.png
用 optipng -o7 壓縮後
- 代碼: 選擇全部
436397 old.png
386833 new.png
同樣用 optipng -o7 壓縮,convert -map 又讓檔案減小 11%