您好,登錄后才能下訂單哦!
cwebp — 壓縮一張圖片文件為webp文件
摘要命令行
cwebp [options] input_file -o output_file.webp
描述
cwebp壓縮一張圖片為WebP格式。輸入的數據可以是PNG, JPEG, TIFF, WebP 或者 raw Y’CbCr samples (備注,月小升沒看懂)
參數
基本參數:
-o string
制定輸出文件名稱。如果省略,cwebp將進行壓縮,輸出靜態報告,使用 “-” 作為一個輸出名稱,將直接輸入到文件
-- string
明確制定輸入文件。這個選項以 – 開頭。這個選項必須出現在最后,任何其他在他后面的選項都會被忽略
-h, -help
幫助手冊簡單版
-H, -longhelp
幫助手冊詳情版
-version
打印版本
-lossless
編碼圖片,不需要進行任何損失。整個圖片,包含透明區域,看不見的像素值(R/G/B or Y/U/V)都會被保存。
-near_lossless int
指定無損壓縮級別對圖片處理預處理。這個參數用來調整像素幫助圖片的可壓縮性,但是盡可能減少圖片可見區域質量。 這個參數會自動觸發無損壓縮模式。參數范圍0-100,典型的數值為60. 記住:有損壓縮-q 100 可以達到更好的結果。
-q float
為RGB通道指定壓縮參數0-100, 默認值75
如果是在有損壓縮中(默認為有損壓縮)參數越小,圖片質量越低,文件越小。最好的質量參數是100
如是是在無損壓縮中(特別是指定了 -lossless 參數),小的參數會獲得快的壓縮速度,但是生產出較大的文件。最大的壓縮值為100.
-z int
https://java-er.com/blog/cwebp-useage/
切換無損壓縮模式級別從0-9,0最快,9最慢。速度越快文件越大。比較好的默認值是6. 這個參數是一個預定義壓縮質量快捷闡述。如果參數 -q 或者 -m 被隨后用到,這個-z 就無效了。
-alpha_q int
為alpha壓縮指定一個0-100的數值。alpha無損壓縮用100,小于100將產生有損壓縮。默認值100.
-preset string
指定一組預定義的值用來區分不同的文件材料。可能的值有default, photo, picture, drawing, icon, text.
由于 -preset 覆蓋其他參數的值(除了-q),這個值最好出現在所有參數最前面。
-m int
制定壓縮模式。這個參數控制了編碼的速度,壓縮文件大小,質量。值范圍為0-6. 默認4. 值越大,花費時間越大用來檢查額外的編碼能力和質量。小的值會產生快的壓縮速度,大的文件和低的壓縮質量。
-resize width height
調整源文件的寬高。如果任意一個寬或者高的參數為0,那么將按比例計算。
-crop x_position y_position width height
從左邊頂部的點開始(x_position, y_position)計算來裁切圖片。裁切區域必須在原文件圖片區域內。
-mt
如果支持,采用多線程編碼
-low_memory
通過節省四倍于壓縮大小(通常)來減少有損編碼的內存使用。 這將使編碼變慢,并且輸出的大小和失真會稍有不同。 該標志僅對方法3及更高版本有效,在默認情況下處于禁用狀態。 請注意,禁用此標志會對比特流產生一些副作用:它將強制執行某些比特流功能,例如分區數(強制為1)。 請注意,使用此選項時,cwebp將打印更詳細的比特流大小報告。
有損壓縮選項
這些選項僅僅對有損壓縮有效(默認情況下,帶或者不帶alpha)
-size int
為輸出文件指定一個目標大小(單位bytes),壓縮器將多次壓縮以接近這個目標。如果-size 和 -psnr 同時使用, 那么-size 優先
-psnr float
指定目標PSNR(以dB為單位)以嘗試達到壓縮輸出。 壓縮程序將通過幾次部分編碼,以便盡可能接近此目標。 如果同時使用-size和-psnr,則以-size值為準。
-pass int
設置選項-size或-psnr程序執行期間要使用的最大通過次數。 最大值為10,默認值為1。如果使用選項-size或-psnr,但未指定-pass,則將使用默認值“6”。
-af
打開自動過濾器。 該算法將花費額外的時間來優化過濾強度以達到均衡的質量。
-jpeg_like
更改內部參數映射以更好地匹配JPEG壓縮的預期大小。 通常,此標志將產生與JPEG等效的大小相似的輸出文件(對于相同的-q設置),但視覺失真較小。
高級選項:
-f int
指定解過濾器的強度,介于0(不過濾)和100(最大過濾)之間。 值為0將關閉任何過濾。 較高的值將增加在解碼圖片后應用的濾波過程的強度。 值越高,圖片將顯得越平滑。 典型值通常在20到50的范圍內。
-sharpness int
指定過濾的清晰度(如果使用)。 范圍是0(最清晰)至7(最不清晰)。 默認值為0。
-strong
使用強過濾(如果通過-f選項使用了過濾)。 默認情況下,強過濾處于啟用狀態。
-nostrong
禁用強過濾(如果通過-f選項使用了過濾),而改用簡單過濾。
-sharp_yuv
如果需要,請使用更準確,更清晰的RGB-> YUV轉換。 請注意,此過程比默認的“快速” RGB-> YUV轉換要慢。
-sns int
指定空間噪聲整形的幅度。 空間噪聲整形(或簡稱為sns)是指用于確定圖片的哪個區域應使用相對較少的位以及在何處更好地傳輸這些位的內置算法的常規集合。 可能的范圍是從0(關閉算法)到100(最大效果)。 默認值為50。
-segments int
更改在sns算法分段期間要使用的分區數。 段的范圍應為1到4。默認值為4。除非使用-low_memory,否則此選項對方法3及更高版本無效。
-partition_limit int
通過限制某些宏塊使用的位數來降低質量。范圍是0(無降級,默認)到100(完全降級)。對于中等大小的圖像,有用的值通常在30-70左右。在VP8格式中,所謂的控制分區限制為512k,用于存儲以下信息:宏塊是否被跳過,宏塊屬于哪個段,是否被編碼為4×4幀內或16×16幀內模式;以及最后,將預測模式用于每個子塊。對于非常大的圖像,每個16×16宏塊只有512k的空間。每個宏塊的絕對最小值為4位。跳過,分段和模式信息幾乎會用完所有這4位(盡管情況不太可能),這對于非常大的圖像來說是個問題。 partition_limit因子控制將使用最昂貴的模式(4×4內)的頻率。如果達到512k限制并顯示以下消息,這將很有用:錯誤代碼:6(PARTITION0_OVERFLOW:分區#0太大,無法容納512k)。如果使用-partition_limit不足以滿足512k約束,則應使用較少的段,以便為每個宏塊節省更多的報頭位。請參閱-segments選項。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。