pngquant的使用教程,使用pngquant命令近乎無損壓縮PNG圖片大小減少70%左右


pngquant的使用教程

1、簡介

pngquant是一個命令行工具和一個用於有損壓縮PNG圖像的庫

轉換顯着減少文件大小(通常高達70%),並保留完整的alpha透明度生成的圖像與所有網絡瀏覽器和操作系統兼容。

2、安裝

官網:https://pngquant.org/

下載地址:https://pngquant.org/releases.html

安裝命令:

$ wget http://pngquant.org/pngquant-2.11.4-src.tar.gz
$ tar -xzf pngquant-2.11.4-src.tar.gz
$ cd pngquant-2.11.4

安裝依賴:yum install libpng-devel

$ ./configure --prefix=/opt/runtime/pngquant
$ make && make install

ok ,安裝完成。

注意:

pngquant -h 看是否正常,如果報:pngquant: error while loading shared libraries: liblcms2.so.2: cannot open shared object file: No such file or directory

重新裝一下liblcms2 , yum install http://pkgrepo.linuxtech.net/el6/release/x86_64/liblcms2-2.4-1.el6.x86_64.rpm 解決

Options:

請參閱 pngquant -h 完整的選項列表。

--ext new.png

為輸出文件名設置自定義擴展。默認-or8.png或被-fs8.png使用。

--quality min-max

指示pngquant使用達到或超過最高質量所需的最少量的顏色如果轉換結果的質量低於最低質量,圖像將不會被保存(如果輸出到標准輸出,則會輸出24位原始圖像),pngquant並將以狀態碼99退出。

最小值 最大值 是范圍0(最差)到100(完美)的數字,類似於 JPEG
pngquant --quality=65-80 image.png
--speed N ,  -sN

速度/品質取舍從1(蠻力)到10(最快)。默認值為3. Speed 10的質量下降了5%,但比默認的速度快了8倍。

--iebug

IE6的解決方法,只顯示完全不透明的像素。pngquant會使幾乎不透明的像素完全不透明,並會避免創建新的透明顏色。

--version

將版本信息打印到標准輸出。

-

從stdin讀取圖像並將結果發送到stdout。

--

停止參數的處理。這允許使用以開頭的文件名-如果您pngquant在腳本中使用,建議在文件名前加上:

pngquant $OPTIONS -- "$FILE"

算法

pngquant 使用中值切割量化算法的修改版本和附加技術來減輕中值切割的缺陷。

而不是分裂具有最大音量或顏色數量的盒子,而是選擇盒子以最小化其中值的方差。

直方圖是建立在基本感知模型的基礎之上的,這樣可以減少圖像噪點區域的重量。

為了進一步改善顏色,在類似於梯度下降的過程中調整直方圖(中值切割重復許多次,在表現不佳的顏色上重量更多)。

最后,使用Voronoi迭代(K均值)來校正顏色,這保證了局部最佳的調色板。

pngquant 在預乘alpha顏色空間中工作,以減少透明顏色的重量。

當重新映射時,誤差擴散僅應用於若干相鄰像素量化為相同值且不是邊緣的區域。這避免了在沒有抖動的情況下將視覺質量增加的區域。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM