新聞中心
Pngquant是一款免費(fèi)開(kāi)源的跨平臺(tái)命令行有損PNG壓縮工具。它基于可移植的libimagequant庫(kù),用C99編寫(xiě)??赏ㄟ^(guò)將PNG圖像轉(zhuǎn)換成更高效的8位PNG格式來(lái)顯著減小文件大小,并保留完整的alpha透明度。你可能已知道,8位PNG文件常常比24/32位PNG文件小60%至80%。用Pngquant壓縮的圖像與所有Web瀏覽器和操作系統(tǒng)完全兼容。 Pngquant可以一次性壓縮一個(gè)或多個(gè)圖像。

創(chuàng)新互聯(lián)公司成立于2013年,先為三水等服務(wù)建站,三水等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為三水企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
功能
Pngquant有下列功能:
- 支持多個(gè)PNG文件的批量轉(zhuǎn)換。
- 高品質(zhì)的調(diào)色板生成。
- 使用Median Cut量化算法來(lái)優(yōu)化圖像。
- 可以與shell腳本、GUI和服務(wù)器端軟件輕松地集成。
- 轉(zhuǎn)換成所需質(zhì)量的圖像,跳過(guò)無(wú)法轉(zhuǎn)換成所需質(zhì)量的圖像。
- 多核支持和英特爾SSE優(yōu)化。
安裝
Pngquant可通過(guò)多種方式來(lái)安裝。
從發(fā)行版的代碼庫(kù)安裝Pngquant
Pngquant存在于大多數(shù)Linux發(fā)行版的默認(rèn)代碼庫(kù)中。
在Arch Linux及變體上,Pngquant存在于[Community]代碼庫(kù)中。啟用Community代碼庫(kù),使用Pacman安裝它,如下所示:
- $ sudo pacman -S pngquant
在Debian、Ubuntu或Linux Mint上:
- $ sudo apt install pngquant
在Ubuntu系統(tǒng)上,你需要啟用[Universe]代碼庫(kù)來(lái)安裝Pngquant。
要啟用Universe代碼庫(kù),請(qǐng)執(zhí)行:
- $ sudo add-apt-repository universe
在Fedora上:
- $ sudo dnf install pngquant
在openSUSE上:
- $ sudo zypper install pngquant
在CentOS上:
- $ sudo yum install epel-release
- $ sudo yum install pngquant
檢查已安裝的Pngquant版本:
- $ pngquant -V
- 2.5.0 (June 2015)
默認(rèn)代碼庫(kù)中可用的Pngquant版本可能很舊。如果你想要最新版本,請(qǐng)從源代碼編譯并手動(dòng)安裝,如下所示。
從源代碼安裝Pngquant
先安裝必要的依賴(lài)項(xiàng)。
在Debian和Ubuntu上:
- $ sudo apt install git gcc cmake libpng-dev pkg-config
在CentOS和Fedora上:
- $ sudo yum install git libpng-devel gcc cmake
接下來(lái),用git clone克隆最新版本的Pngquant:
- $ git clone --recursive https://github.com/kornelski/pngquant.git
上述命令將下載Pngquant GitHub代碼庫(kù)的內(nèi)容,并將其保存在當(dāng)前工作目錄中名為“pngquant”的文件夾中。
切換到Pngquant目錄:
- $ cd pngquant
最后,運(yùn)行以下命令來(lái)編譯和安裝Pngquant:
- $ make
- $ sudo make install
Pngquant將默認(rèn)安裝在/usr/local/bin位置。如果要將它安裝在另一個(gè)目錄中,運(yùn)行:
- $ ./configure --prefix = dir && make
將“dir”換成你的路徑。你需要先運(yùn)行該命令,然后運(yùn)行“sudo make install”命令。
檢查Pngquant版本:
- $ pngquant -V
- 2.12.5 (July 2019)
看到了嗎?這是最新版本。
使用Cargo安裝Pngquant
也可以使用Cargo軟件包管理器安裝Pngquant。先按照下列鏈接中的說(shuō)明安裝Rust。
《在Linux中安裝Rust編程語(yǔ)言》(https://www.ostechnix.com/install-rust-programming-language-in-linux/)
用git clone克隆最新版本的Pngquant:
- $ git clone --recursive https://github.com/kornelski/pngquant.git
最后使用Cargo構(gòu)建和安裝Pngquant,如下所示:
- $ cd pngquant
- $ sudo cargo build --release
至于其他安裝方法,請(qǐng)參閱Pngquant官方安裝頁(yè)面(https://pngquant.org/install.html)。
使用Pngquant在Linux上壓縮PNG圖像
Pngquant的使用很簡(jiǎn)單,不需要任何特殊技能就可以使用它。
我在當(dāng)前目錄中有名為“ostechnix.png”的PNG圖像文件。讓我告訴你它的大小。
- $ du -sh ostechnix.png
- 152K ostechnix.png
如你所見(jiàn),圖像大小是152k。
壓縮PNG圖像
現(xiàn)在不妨使用命令壓縮上述圖像:
- $ pngquant ostechnix.png
上述命令將壓縮ostechnix.png文件并將其保存為名為“ostechnix-fs8.png”的新文件。默認(rèn)情況下,Pngquant將使用與輸入文件名相同的輸出文件名,最后使用后綴-or8.png或-fs8.png。這意味著它不會(huì)覆蓋源文件。如果你對(duì)壓縮率不滿(mǎn)意,只需刪除壓縮文件并保留原始?jí)嚎s文件。
不妨再次檢查壓縮圖像文件的大?。?/p>
- $ du -sh ostechnix-fs8.png
- 48K ostechnix-fs8.png
使用Pngquant壓縮PNG圖像
看到了嗎?Pngquant已將152k大小的圖像縮小到48k。的確干得漂亮。使用任何圖像查看器打開(kāi)圖像,并進(jìn)行比較。原始圖像和壓縮圖像的質(zhì)量差異不大。兩個(gè)圖像看起來(lái)幾乎一樣!
壓縮時(shí)顯示狀態(tài)消息
默認(rèn)情況下,Pngquant壓縮圖像時(shí)不顯示幕后發(fā)生的事情。如果你想查看狀態(tài)消息,使用該命令:
- $ pngquant ostechnix.png --verbose
- ostechnix.png:
- conserving memory
- read 152KB file
- corrected image from gamma 2.2 to sRGB gamma
- made histogram...1854 colors found
- selecting colors...4%
- selecting colors...25%
- selecting colors...28%
- selecting colors...49%
- selecting colors...69%
- selecting colors...90%
- selecting colors...100%
- moving colormap towards local minimum
- eliminated opaque tRNS-chunk entries...61 entries transparent
- mapped image to new colors...MSE=0.055 (Q=99)
- writing 256-color image as ostechnix-fs8.png
- No errors detected while quantizing 1 image.
現(xiàn)在你將看到壓縮進(jìn)行時(shí)的進(jìn)度。
壓縮多個(gè)PNG圖像
Pngquant還可以轉(zhuǎn)換多個(gè)圖像。下列命令將壓縮當(dāng)前工作目錄中的picture1.png和picture2.png。
- $ pngquant picture1.png picture2.png
此外,我們可以移動(dòng)目錄中的所有文件并一次性壓縮。比如說(shuō),想轉(zhuǎn)換名為“/home/sk/images”的文件夾中的所有圖像,請(qǐng)運(yùn)行:
- $ pngquant /home/sk/images/*.png
更改輸出文件名后綴
如上所述,輸出文件名與輸入名稱(chēng)一樣,只不過(guò)以“-fs8.png”和“- or8.png”結(jié)尾。然而你可以根據(jù)需要更改后綴,如下所示。
- $ pngquant ostechnix.png --ext linux.png
該命令將壓縮ostechnix.png文件并將其保存為ostechnixlinux.png。
如果壓縮文件的大小大于原始文件,跳過(guò)保存文件
如果轉(zhuǎn)換后的文件大于源文件,壓縮還有什么意義?這種轉(zhuǎn)換不值得,因此我們跳過(guò)這一點(diǎn),如下所示。
- $ pngquant --skip-if-larger ostechnix.png
只有轉(zhuǎn)換后的文件小于原始文件,上述命令才會(huì)保存它。
將轉(zhuǎn)換后的文件保存在不同的路徑
默認(rèn)情況下,Pngquant會(huì)將輸入和輸出圖像文件保存在同一目錄中。如果你要將輸出文件保存在其他位置,命令將是:
- $ pngquant ostechnix.png --output Documents/output.png
該命令將壓縮ostechnix.png并將其保存為Documents目錄中的output.png。
以自定義質(zhì)量壓縮圖像
Pngquant盡可能壓縮圖像。我們還可以手動(dòng)設(shè)置圖像質(zhì)量。Pngquant允許我們使用min和max這兩個(gè)參數(shù),將圖像質(zhì)量設(shè)置在范圍0(最差)到100(完美)。
下面例子將最低圖像質(zhì)量設(shè)置為60,將最高質(zhì)量設(shè)置為80。
- $ pngquant ostechnix.png --output Documents/output.png
如果轉(zhuǎn)換導(dǎo)致質(zhì)量低于最低質(zhì)量,則不保存圖像。
剝離圖像元數(shù)據(jù)
圖像元數(shù)據(jù)是關(guān)于圖像的一組數(shù)據(jù)。它包括有關(guān)圖像的所有信息,比如圖像格式、相機(jī)設(shè)置、DPI、圖像的日期和時(shí)間、標(biāo)題和注釋和地理位置等。
如果你不需要元數(shù)據(jù),可以使用Pngquant來(lái)刪除,如下所示:
- $ pngquant --strip image.png
至于更多詳細(xì)信息,請(qǐng)參閱手冊(cè)頁(yè)。
- $ man pngquant
當(dāng)前名稱(chēng):Pngquant:Linux上壓縮PNG圖像的命令行實(shí)用工具
文章轉(zhuǎn)載:http://www.dlmjj.cn/article/cogphoj.html


咨詢(xún)
建站咨詢(xún)
