pngquant有損壓縮png資源

通過將圖像轉換爲更有效的8-bit PNG格式 ,pngquant是一個 PNG compresor,它可以將圖像轉換爲更有效的PNG格式。 壓縮圖像完全符合標準,所有瀏覽器和操作系統都支持它。

用法

  • 多個文件的批處理轉換: pngquant *.png
  • unix樣式標準標準/標準鏈接: ... | pngquant - |.. .

要進一步減小文件大小,請嘗試 optipngImageOptim或者zopflipng。

特性

  • 高品質調色板生成
  • 支持伽瑪校正和 premultiplied alpha的高級量化算法
  • 獨特的抖動算法,不會向圖像添加不必要的噪聲
  • 可以配置的質量級別
  • 自動查找所需數量的顏色,並可以跳過無法轉換爲所需質量的圖像
  • 快速,現代代碼

命令行選擇:

pngquant -h 查看所需參數

--quality min-max

min 和 max 是 0 ( 最差) 至 100 ( 完美)的數字,類似於 JPEG。 pngquant將使用滿足或者超過 max 質量要求的最少數量的顏色。 如果轉換結果以質量低於 min 質量,圖像將不會保存( 如果輸出到 stdin,24-bit 原始將輸出),pngquant將退出狀態碼 99.

--ext new.png

爲輸出文件名設置自定義擴展( 後綴)。 默認情況下使用 -or8.png 或者 -fs8.png。 如果使用 --ext=.png --force 選項,pngquant將覆蓋在( 謹慎使用) 中的輸入文件。

-o out.png 或者 --output out.png

將轉換後的文件寫入給定路徑。 僅使用這裏選項時只允許使用單個輸入文件。

--skip-if-larger

如果轉換不值得,則不要寫入轉換過的文件。

--speed N

速度/質量從 1 (。最慢,質量最高,文件最小) 到 11 (。快速,不一致的質量,輕 comperssion )。 默認爲 3。建議保留默認值,除非你需要實時生成圖像( 比如。 貼圖平鋪)。較高的速度可以使用 256色,但不處理較低數量的顏色。

--nofs

停用 floyd dithering抖動。

--floyd=0.5

控制抖動( 0 = 無,1 = 全)的級別。 請注意,= 字符是必需的。

--posterize bits

通過位數減少調色板的精度。 當圖像將在低深度屏幕上顯示時使用( 比如。 16位 以ARGB444格式顯示或者壓縮紋理)。

--strip

不復制可選的PNG塊。 在 Mac ( 使用 Cocoa 讀取器時) 上總是刪除元數據。

簡單測試:

"pngquant.exe --force --ext .png --posterize ARGB444 --verbose 1.png"

自定義一個.png資源,在當前目錄運行以上代碼,然後就會發現,之前的資源所佔內存會小很多

# -*- coding:utf-8 -*-
import codecs
import sys
import os
import os.path
import shutil

def packerHandle(rootdir,tooldir):
    for parent,dirnames,filenames in os.walk(rootdir):
        for filename in filenames:
            extra_name = filename.split('.')[-1]
            if(str.find(extra_name,"png") == 0):
                dstfilename = os.path.join(parent,filename)
                yscmd = tooldir+"\pngquant.exe --force --ext .png --posterize ARGB444 --verbose" + " " + dstfilename
                os.system(yscmd)
                print(yscmd)

if __name__ == "__main__":
    rootdir = sys.argv[1]
    tooldir = sys.argv[2]
    packerHandle(rootdir,tooldir)

pngquant下載鏈接:https://pan.baidu.com/s/1rnubqxu3Np5Y8rGCE0aG7g 提取碼: ierq

 

發佈了69 篇原創文章 · 獲贊 3 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章