2015年2月4日 星期三

以失真的方式壓縮 PNG 檔,壓縮率超高

Google 官方建議 png /jpg 要壓縮以加快網路速度。
png 用 optipng -o7 x.png
jpg 用 jpegoptim -p -m60 --strip-all x.png
壓縮率其實都還好,減少到20%就不錯了,但真實的網路世界中,減少 20% 根本是沒什麼幫助。

後來試著改用線上的服務來壓縮,竟然可以減少 70% 的體積,但會有輕微的失真。
我覺得失真是很值得的,512k 變成 150k ,網頁載入的速度加快很多。
以下兩款失真的方式不太一樣,可以互相比較一下,第二個比較合我的胃。
https://tinypng.com/
http://compresspng.com/

另外 tinypng 有 api,免費的 quota 一個月可以壓 500 個,以做網站來說,還算夠用。不過該 API 是回傳一個 JSON ,要再從 JSON 裡面的網址去下載圖檔,我嫌麻煩,把它包裝了一下,用法就很簡單,直接下 tinypng 就可以壓縮該目錄下的 png 檔了

把這裡面的 shell script 放到 ~/.bashrc 裡面就可以了
https://gist.github.com/girvan/51daa6dea84f41e29042