png 壓縮技巧

常言道:『飲水思源』,在 Open Source 的世界裡,我們常常需要別人的幫助,但是在您有所心得的時候請記得分享給大家,『幫助人是快樂的喔』。歡迎您在使用 debian 的過程中的任何心得分享給大家。

png 壓縮技巧

文章訪客 » 週三 6月 11, 2008 9:40 am

png 是無損壓縮,沒有任何資料流失,但也因此常常比 jpg 大不少…(jpg 是有損壓縮)

最近發現一招好用的 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%
訪客
 

文章jesse.sung » 週三 6月 11, 2008 6:51 pm

試了一張照片,convert 後的顏色不正確... orz

測試用的照片,用 UFRaw 轉出來的 png 檔大小為 26059258
用 pngcrush -brute 和 optipng -o7 轉檔後分別為 25932629 和 25932041。
BR,
Wen-chien Jesse Sung
頭像
jesse.sung
程式開發組
程式開發組
 
文章: 654
註冊時間: 週三 9月 04, 2002 9:43 am

文章blc_ » 週三 6月 11, 2008 10:29 pm

我常用xli看單一圖檔,在png上最大的麻煩是gamma值會跑掉,這會讓圖看起來偏淡,雖然可以用熱鍵1來重設gamma值,但總是多了個麻煩…
blc_
 


回到 share

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客