自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Pngquant:Linux上壓縮PNG圖像的命令行實用工具

譯文
開發(fā) 后端
Pngquant是一款免費開源的跨平臺命令行有損PNG壓縮工具。它基于可移植的libimagequant庫,用C99編寫??赏ㄟ^將PNG圖像轉(zhuǎn)換成更高效的8位PNG格式來顯著減小文件大小,并保留完整的alpha透明度。

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

[[275752]]

功能

Pngquant有下列功能:

  • 支持多個PNG文件的批量轉(zhuǎn)換。
  • 高品質(zhì)的調(diào)色板生成。
  • 使用Median Cut量化算法來優(yōu)化圖像。
  • 可以與shell腳本、GUI和服務(wù)器端軟件輕松地集成。
  • 轉(zhuǎn)換成所需質(zhì)量的圖像,跳過無法轉(zhuǎn)換成所需質(zhì)量的圖像。
  • 多核支持和英特爾SSE優(yōu)化。

安裝

Pngquant可通過多種方式來安裝。

從發(fā)行版的代碼庫安裝Pngquant

Pngquant存在于大多數(shù)Linux發(fā)行版的默認代碼庫中。

在Arch Linux及變體上,Pngquant存在于[Community]代碼庫中。啟用Community代碼庫,使用Pacman安裝它,如下所示:

  1. $ sudo pacman -S pngquant 

在Debian、Ubuntu或Linux Mint上:

  1. $ sudo apt install pngquant 

在Ubuntu系統(tǒng)上,你需要啟用[Universe]代碼庫來安裝Pngquant。

要啟用Universe代碼庫,請執(zhí)行:

  1. $ sudo add-apt-repository universe 

在Fedora上:

  1. $ sudo dnf install pngquant 

在openSUSE上:

  1. $ sudo zypper install pngquant 

在CentOS上:

  1. $ sudo yum install epel-release 
  2.  
  3. $ sudo yum install pngquant 

檢查已安裝的Pngquant版本:

  1. $ pngquant -V 
  2.  
  3. 2.5.0 (June 2015) 

默認代碼庫中可用的Pngquant版本可能很舊。如果你想要最新版本,請從源代碼編譯并手動安裝,如下所示。

從源代碼安裝Pngquant

先安裝必要的依賴項。

在Debian和Ubuntu上:

  1. $ sudo apt install git gcc cmake libpng-dev pkg-config 

在CentOS和Fedora上:

  1. $ sudo yum install git libpng-devel gcc cmake 

接下來,用git clone克隆最新版本的Pngquant:

  1. $ git clone --recursive https://github.com/kornelski/pngquant.git 

上述命令將下載Pngquant GitHub代碼庫的內(nèi)容,并將其保存在當前工作目錄中名為“pngquant”的文件夾中。

切換到Pngquant目錄:

  1. $ cd pngquant 

最后,運行以下命令來編譯和安裝Pngquant:

  1. $ make 
  2.  
  3. $ sudo make install 

Pngquant將默認安裝在/usr/local/bin位置。如果要將它安裝在另一個目錄中,運行:

  1. $ ./configure --prefix = dir && make 

將“dir”換成你的路徑。你需要先運行該命令,然后運行“sudo make install”命令。

檢查Pngquant版本:

  1. $ pngquant -V 
  2.  
  3. 2.12.5 (July 2019) 

看到了嗎?這是最新版本。

使用Cargo安裝Pngquant

也可以使用Cargo軟件包管理器安裝Pngquant。先按照下列鏈接中的說明安裝Rust。

《在Linux中安裝Rust編程語言》(https://www.ostechnix.com/install-rust-programming-language-in-linux/)

用git clone克隆最新版本的Pngquant:

  1. $ git clone --recursive https://github.com/kornelski/pngquant.git 

最后使用Cargo構(gòu)建和安裝Pngquant,如下所示:

  1. $ cd pngquant 
  2.  
  3. $ sudo cargo build --release 

至于其他安裝方法,請參閱Pngquant官方安裝頁面(https://pngquant.org/install.html)。

使用Pngquant在Linux上壓縮PNG圖像

Pngquant的使用很簡單,不需要任何特殊技能就可以使用它。

我在當前目錄中有名為“ostechnix.png”的PNG圖像文件。讓我告訴你它的大小。

  1. $ du -sh ostechnix.png 
  2.  
  3. 152K ostechnix.png 

如你所見,圖像大小是152k。

壓縮PNG圖像

現(xiàn)在不妨使用命令壓縮上述圖像:

  1. $ pngquant ostechnix.png 

上述命令將壓縮ostechnix.png文件并將其保存為名為“ostechnix-fs8.png”的新文件。默認情況下,Pngquant將使用與輸入文件名相同的輸出文件名,最后使用后綴-or8.png或-fs8.png。這意味著它不會覆蓋源文件。如果你對壓縮率不滿意,只需刪除壓縮文件并保留原始壓縮文件。

不妨再次檢查壓縮圖像文件的大?。?/p>

  1. $ du -sh ostechnix-fs8.png 
  2.  
  3. 48K ostechnix-fs8.png 

使用Pngquant壓縮PNG圖像

看到了嗎?Pngquant已將152k大小的圖像縮小到48k。的確干得漂亮。使用任何圖像查看器打開圖像,并進行比較。原始圖像和壓縮圖像的質(zhì)量差異不大。兩個圖像看起來幾乎一樣!

壓縮時顯示狀態(tài)消息

默認情況下,Pngquant壓縮圖像時不顯示幕后發(fā)生的事情。如果你想查看狀態(tài)消息,使用該命令:

  1. $ pngquant ostechnix.png --verbose 
  2. ostechnix.png: 
  3.  
  4. conserving memory 
  5.  
  6. read 152KB file 
  7.  
  8. corrected image from gamma 2.2 to sRGB gamma 
  9.  
  10. made histogram...1854 colors found 
  11.  
  12. selecting colors...4% 
  13.  
  14. selecting colors...25% 
  15.  
  16. selecting colors...28% 
  17.  
  18. selecting colors...49% 
  19.  
  20. selecting colors...69% 
  21.  
  22. selecting colors...90% 
  23.  
  24. selecting colors...100% 
  25.  
  26. moving colormap towards local minimum 
  27.  
  28. eliminated opaque tRNS-chunk entries...61 entries transparent 
  29.  
  30. mapped image to new colors...MSE=0.055 (Q=99) 
  31.  
  32. writing 256-color image as ostechnix-fs8.png 
  33.  
  34. No errors detected while quantizing 1 image. 

現(xiàn)在你將看到壓縮進行時的進度。

壓縮多個PNG圖像

Pngquant還可以轉(zhuǎn)換多個圖像。下列命令將壓縮當前工作目錄中的picture1.png和picture2.png。

  1. $ pngquant picture1.png picture2.png 

此外,我們可以移動目錄中的所有文件并一次性壓縮。比如說,想轉(zhuǎn)換名為“/home/sk/images”的文件夾中的所有圖像,請運行:

  1. $ pngquant /home/sk/images/*.png 

更改輸出文件名后綴

如上所述,輸出文件名與輸入名稱一樣,只不過以“-fs8.png”和“- or8.png”結(jié)尾。然而你可以根據(jù)需要更改后綴,如下所示。

  1. $ pngquant ostechnix.png --ext linux.png 

該命令將壓縮ostechnix.png文件并將其保存為ostechnixlinux.png。

如果壓縮文件的大小大于原始文件,跳過保存文件

如果轉(zhuǎn)換后的文件大于源文件,壓縮還有什么意義?這種轉(zhuǎn)換不值得,因此我們跳過這一點,如下所示。

  1. $ pngquant --skip-if-larger ostechnix.png 

只有轉(zhuǎn)換后的文件小于原始文件,上述命令才會保存它。

將轉(zhuǎn)換后的文件保存在不同的路徑

默認情況下,Pngquant會將輸入和輸出圖像文件保存在同一目錄中。如果你要將輸出文件保存在其他位置,命令將是:

  1. $ pngquant ostechnix.png --output Documents/output.png 

該命令將壓縮ostechnix.png并將其保存為Documents目錄中的output.png。

以自定義質(zhì)量壓縮圖像

Pngquant盡可能壓縮圖像。我們還可以手動設(shè)置圖像質(zhì)量。Pngquant允許我們使用min和max這兩個參數(shù),將圖像質(zhì)量設(shè)置在范圍0(最差)到100(完美)。

下面例子將最低圖像質(zhì)量設(shè)置為60,將最高質(zhì)量設(shè)置為80。

  1. $ pngquant ostechnix.png --output Documents/output.png 

如果轉(zhuǎn)換導(dǎo)致質(zhì)量低于最低質(zhì)量,則不保存圖像。

剝離圖像元數(shù)據(jù)

圖像元數(shù)據(jù)是關(guān)于圖像的一組數(shù)據(jù)。它包括有關(guān)圖像的所有信息,比如圖像格式、相機設(shè)置、DPI、圖像的日期和時間、標題和注釋和地理位置等。

如果你不需要元數(shù)據(jù),可以使用Pngquant來刪除,如下所示:

  1. $ pngquant --strip image.png 

至于更多詳細信息,請參閱手冊頁。

  1. $ man pngquant 

原文標題:Pngquant – A Command-line Utility To Compress PNG Images On Linux,作者:SK

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2011-01-24 15:52:07

2009-07-10 17:54:29

SwingUtilit

2017-01-03 08:30:01

Linux命令行工具

2022-02-25 09:03:49

工具Swift項目

2018-10-19 08:54:00

Linux服務(wù)器命令

2019-03-19 09:00:00

LinuxBackBox滲透測試

2011-01-14 13:40:24

UbuntuLinux Tips

2010-08-24 09:10:14

Linux命令行工具

2021-08-25 10:55:43

Linux命令工具

2013-11-29 10:35:34

命令行工具ncdu

2025-03-04 10:49:51

2015-10-10 15:09:46

推薦工具Linux

2017-09-05 08:57:02

Linux命令行技巧

2020-10-26 10:00:28

Linux工具命令

2015-03-19 17:01:08

AWS大數(shù)據(jù)分析

2013-04-11 09:21:21

Linux性能監(jiān)測命令行工具

2023-08-02 10:41:26

2017-04-28 14:47:23

人工智能

2011-04-13 09:40:27

2021-09-02 11:38:12

Linux運維工具
點贊
收藏

51CTO技術(shù)棧公眾號