天天看點

【轉】【PNG壓縮工具】PNG 圖像的優化及壓縮工具介紹

圖像格式有許多種不同類型,在網際網路上最常見的有JPEG、GIF、BMP、TIFF和PNG。每一種圖像格式都有它自己的用途,比如GIF是用于動畫的,JPEG是用于高清圖檔的,,而我們最喜愛的PNG最适合于小型且透明的圖檔。PNG檔案的另一個巨大的優勢是這些檔案都是無損的,這就意味着你可以在不丢失清晰度的情況下對PNG檔案進行壓縮。

你在網際網路上可以很容易地找到壓縮PNG檔案的工具,而且大多數,而不是全部都會由于采用不同的算法而生成不同大小的檔案,除非這些工具采用了相同的庫或

者技術才會生成相同大小的檔案。最大程度地減少圖像檔案大小可以節省傳輸帶寬、減少下載下傳時間,甚至可以獲得較高的谷歌頁面通路速度的性能分,這是因為“優

化圖像”是達到這些目标的第一選擇。在這篇文檔裡,我們将對13個免費的PNG壓縮工具(有線上壓縮工具、指令行壓縮工具和桌面式壓縮工具)進行測試,來

找到可生成最小檔案大小的那個工具。

我們将使用下面所列出的13個免費的圖像壓縮工具對一個8位的和一個24位的PNG檔案進行壓縮。所列的工具包含指令行工具、桌面程式和線上服務。指令行

工具在對大量檔案進行自動處理的時候較靈活,不過它要求你要鍵入全部的指令,包括指令選項和路徑。桌面工具較容易使用,這種程式具有圖形使用者界面,它通常

隻需要幾個滑鼠點選就可以完成壓縮。最後是線上服務,它是位于遠端伺服器上的應用,壓縮處理過程是在遠端伺服器上進行的,而且使用者不需要安裝任何第三方軟 件。

指令行工具

1.advpng

advpng是AdvanceCOMP應用的一部分,AdvanceCOMP包含有多個對PNG、ZIP、MNG和GZ檔案進行再次壓縮的免費的工具。

advpng從2005年起就沒有更新過,不過它的壓縮速度和結果卻很令你吃驚。具有較慢硬體配置的舊一點的機器進行壓縮要花稍長的時間,而新的多核

CPU隻需一秒就可生成令你驚訝的結果。

advpng的最大壓縮的指令如下:

advpng.exe -z4 file.png

2.OptiPNG

OptiPNG是另一個開放源代碼的指令行PNG壓縮工具,它既支援Windows作業系統,也支援Linux作業系統。它的穩定版本和開發版本都可以下

載。要特别注意的是:穩定版本和開發版本的最大壓縮的指令行稍有不同。OptiPNG穩定版本的最高壓縮比是

-o7,而開發版本卻是-o6。如果你試圖對開發版本強制使用-o7,那麼你将仍然得到的是同使用-o6一樣的大小的檔案。

OptiPNG穩定版本的最大壓縮的指令如下:

optipng.exe -o7 file.png

OptiPNG開發版本的最大壓縮的指令如下:

optipng-hg-latest-win32 -o6 file.png

3.Pngcrush

pngcrush也是一個指令行工具,它試圖使用不同的壓縮比和PNG過濾方法對PNG圖像進行優化。如果你使用了-brute選項,那麼Pngcrush将用148種方法對這個圖像進行測試,以找到最适合于這張圖檔的壓縮方法。

Pngcrush的最大壓縮指令如下:

Pngcrush.exe -brute file.png output.png

4.PngOptimizerCL

PngOptimizer有一個簡單的圖形使用者界面程式,這時你要做的就是把你要壓縮的圖像拖到這個程式的視窗就行,同時,pngOptimizer還是

一個可以在指令行提示符下運作的指令行工具。它除了通過清除PNG上的錯誤或者無用資訊來減小PNG檔案大小外,還可以對今天已經不常見的動畫型PNG格

式(apng)進行處理。為了對圖像檔案進行優化,你要麼指定一個确切的檔案名,要麼使用*号通配符。

PngOptimizerCL的最大壓縮指令如下:

PngOptimizerCL.exe -file:”file.png”

5.PNGOUT

不像大多數指令行PNG優化工具,PNGOUT不是開放源代碼的,這是因為它的壓縮算法已經并入它們的商業GUI版本PNGOUTWin

裡,PNGOUTWin既支援批量處理,也支援多核CPU。雖然它不是開放源代碼的,但是你仍可以找到已經編譯好的Windows、Linux、BSD和 Mac OS

X上的二進制檔案。PNGOUT是最容易是使用的壓縮工具之一。因為在預設情況下,即不指定任何指令行選項的情況下,它使用了最高壓縮比的Xtreme壓

縮算法。

PNGOUT最大壓縮指令如下:

pngout.exe file.png

6.ScriptPNG

ScriptPNG實際上是一個批處理檔案,它可以使用高達10種PNG壓縮算法對圖像檔案進行優化。選擇超強選項數字9将使用生成最小檔案的最大壓縮算

法,不過完成這個優化過程需要花費更多的時間。你需要做的所有就是把PNG檔案從Explore拖拉到這個程式,然後在9個選項中選擇一個。

7.TruePNG

TruePNG不像上面所介紹的某些PNG壓縮工具,它隻支援PNG檔案。

上面所介紹的一些PNG壓縮工具在能夠獲得更小檔案的情況下,總試圖轉換其他圖像檔案格式,比如JPEG和GIP,為PNG格式。

TruePNG最大壓縮指令如下:

TruePNG.exe input.png /o max

桌面軟體 

8.PNGGauntlet

PNGGauntlet實際上是一個前端工具,它使用三個不同的PNG優化工具(PNGOUT、OptiPNG和DeflOpt)對PNG檔案進行了多次

壓縮,而不是通過所見的隻是用一個工具。三個壓縮工具的使用确實增加了壓縮PNG檔案所花費的時間,不過肯定生成了更小的檔案。PNGGauntlet裡

的一個很好的功能是在進行批量處理的時候能夠自動對多個檔案進行排隊處理。工具菜單裡的預設選項已經是最佳(最大)壓縮設定,除非你打算保留PNG元數

據、使用灰階色彩模式等等時候才更改這個值。運作這個軟體需要安裝微軟的.NET Framework 4。

線上服務 

9.Kraken

Kraken是一個免費的線上圖像優化工具,它既支援無損優化模式,也支援有損優化模式。為了對圖像檔案進行優化,你要麼選擇一個你計算機上的圖像源文

件,要麼粘貼上一些URL。然後PNG圖像檔案就會被"kraked",處理完成後就會把結果檔案上傳到實作臨時1小時存儲的它們自己的CDN上。

Kraken.io所做的一件很好的事情就是可以使用有限的免費的API對Chrome和Firefox進行擴充。使用進階API的付費計劃将在幾周内發

布。依據我們的測試,Kraken的免費壓縮可以與付費的PunyPNG的極限壓縮相媲美。

10.pngoptimizer.com

pngoptimize.com是一個非常簡單的站點,它允許你對最大為3MB的

圖像檔案進行上傳和壓縮。點選浏覽按鈕,就可以查找要上傳的圖像檔案,然後點選非常靠近廣告條的優化按鈕,從測試結果來看,我們能夠确定

pngoptimizer.com是使用OptiPNG進行PNG檔案的壓縮的。

11.PunyPNG

PunyPNG獲得了大量的關注,因為與其他線上釋出的競争者一一比

較,PunyPNG去除了更多的位元組。這個站點提供免費壓縮,當你注冊為專業級使用者的話,你将自動使用極強的且有損的壓縮算法。要對PNG圖像檔案進行壓

縮,請點選上傳按鈕,免費使用者可以每次選擇上傳15個檔案,每個檔案最大為150KB。而專業級使用者可以每次選擇上傳50個檔案,每個檔案最大為 500KB。

12. Smush.it

Smush.it

是一個使用最多的線上優化工具,它托管在雅虎開發網,而且這個功能還包含在YSlow中。你會發現幾乎每一個應用都支援Smush.it,比如,通過一個

WordPress插件,你可以很容易甚至自動的美化你上傳的圖檔。在Smush.it上有兩種方法壓縮你的圖檔,一個是從你的電腦上上傳圖檔,或者提供

圖檔的确切連結。

TinyPNG為了達到更小的檔案大小進行了有損壓縮,盡管在品質上有輕微的下降,但裸眼看不出來。是以如果你有24位PNG圖像,在TinyPNG下壓縮将變成為一個8位的PNG檔案。它支援一次處理20張圖檔,每張大小在3MB内。

PNG壓縮測試

兩個8位PNG檔案的壓縮測試結果

兩個24位PNG檔案的壓縮測試結果

總結:ScriptPNG對24位PNG檔案和8位PNG檔案都能生成最小的壓縮檔案。注

意:ScriptPNG僅僅是一個腳本,它是用幾個壓縮工具對PNG檔案進行了多次壓縮優化,是以它與其它指令行工具相比在處理上要花費更長的時間。還需

注意:雖然PNGOUT對8位PNG檔案壓縮的真的很好,但對24位PNG檔案的壓縮卻是最差的。

上面雖然沒有提到,但我們确信線上服務PNGoptimizer.com使用了OptiPNG進行PNG檔案壓縮的,因為這兩種方法在上面所進行的所有四

個測試裡都生成了完全相同大小的檔案。我們的測試還表明:Kraken圖形優化器同隻有PunPNG付費使用者才可使用的PunyPNG極限壓縮方法一樣都

生成同樣大小的檔案。

對使用指令行使用者的提示。如果你需要頻繁的使用指令行工具而不想每次重複的輸入完整的指令行來優化或者壓縮PNG圖檔,這裡有一個簡單的方法,隻需要點選兩下滑鼠即可。你需要做的事添加一個新的動作在内容目錄,它隻在你點選到PNG檔案時顯示。

1.下載下傳,解壓并執行可執行檔案;

2.預設的程式語言是德文,你隻需要點選一下美國國旗的表,這樣視窗就會切換成英文;

3. 往下滾動滾動條找到拓展名“png”,檔案類型為“PNG圖檔”;

4.輕按兩下png拓展名然後點選New Action按鈕。

5.你可以在程序欄中輸入任何東西,可以是PNG壓縮工具的名字或者僅僅是Compress如果你想在指令行中隻需要一個單詞的話。

6.至于“進行處理的應用”框,

你需要做的就是根據與你所使用的指令行工具的不同輸入以下指令行。如果你還沒有把指令行工具放置在C:\盤的根目錄下,那麼請更改工具所在路徑。

advpng: c:\advpng.exe -z4 "%1"(将覆寫已有檔案)

OptiPNG: c:\optipng.exe -o7 -backuup "%1" (給已有檔案建立備份檔案,增加.bak擴充名)

pngcrush: c:\pngcrush.exe -brute -e_compressed "%1"

(以原始檔案名加_compressed.png的檔案名儲存壓縮所得PNG檔案)

pngOptimizerCL: c:\PngOptimizerCL.exe -BackupOldPngFiles

-file:%1"(通過給檔案名開始增加下劃線字元來備份原來的PNG檔案)

PNGOUT: c:\pngout.exe "%1" out.png(儲存壓縮所得的PNG檔案為out.png)

ScriptPNG: c:\scriptpng\ScriptPNG.cmd "%1" (按數字9鍵,接着就覆寫了已有的PNG檔案)

TruePNG: c:\TruePNG.exe "%1" /o max /out

out.png(儲存壓縮所得的PNG檔案為out.png)

7.點選Save按鈕後将關閉Action視窗,然後再點選Save按鈕關閉Edit視窗。

8.無論什麼時候你在PNG檔案上點選滑鼠右鍵,你将在彈出的菜單上看到多了一個指令,它就是用來壓縮PNG檔案的。

原文位址: