隨著WebP 的發展,目前許多網路的圖片都是透過WebP格式來顯示,不過目前仍然許多軟體不支持WebP格式的預覽,例如把漫畫透過工具下載下來後發現是WebP格式但習慣的看圖軟體卻不支持,這時候你只能再透過其他軟體來轉成支持的格式,當然轉檔方式目前也很多甚至有線上工具可以使用,如果你是時常有轉檔需求的人個人會推薦透過Google的開源轉檔工具透過簡單的指令來轉檔,具體如何使用指令就參考下方介紹吧。
工具下載
下載後解壓縮 在bin資料夾內找到exe檔案
Google 開源WebP解碼/編碼器
如何使用下方的指令?
把下載後的dwebp.exe或cwebp.exe放到圖片資料夾
在資料夾路徑打上『cmd』按下鍵盤的『Enter』即可開始輸入指令
效果如下
dwebp.exe 解碼 WebP 成 PNG格式
dwebp將 WebP 文件解壓縮為 PNG、PAM、PPM 或 PGM 圖像。注意:不支持動畫 WebP 文件。
注意同名的目標檔案會覆蓋,例如test.webp轉png若已經存在test.png的檔案會覆蓋
轉『webp』到『png』
for %f in (*.webp) do dwebp.exe "%f" -o "%~nf.png"
轉『webp』到『png』並刪除原始『webp』
for %f in (*.webp) do ( dwebp.exe "%f" -o "%~nf.png" && IF EXIST "%~nf.png" DEL "%f" )
處理多個資料夾
轉『webp』到『png』,遞迴語法(只適用於兩層結構)
for /R %f in (*.webp) do dwebp.exe "%f" -o "%~dpnf.png"
轉『webp』到『png』,遞迴語法(只適用於兩層結構),刪除原始圖片
for /R %f in (*.webp) do ( dwebp.exe "%f" -o "%~dpnf.png" && IF EXIST "%~dpnf.png" DEL "%f" )
cwebp.exe 編碼 PNG, JPEG, TIFF 成WebP格式
cwebp使用 WebP 格式壓縮圖像。輸入格式可以是 PNG、JPEG、TIFF、WebP 或原始 Y’CbCr 樣本。注意:不支持動畫 PNG 和 WebP 文件。
注意同名的目標檔案會覆蓋,例如test.png轉webp若已經存在test.webp的檔案會覆蓋
轉『PNG』到『WebP』
for %f in (*.png) do ( cwebp.exe "%f" -o "%~nf.webp" && IF EXIST "%~nf.webp" DEL "%f" )
轉『JPG JPEG』到『WebP』
for %f in (*.jpg *.jpeg) do ( cwebp.exe "%f" -o "%~nf.webp" && IF EXIST "%~nf.webp" DEL "%f" )
其他格式請自己修改 (*.png) 成 (*.tiff) 這樣的指令即可
處理多個資料夾
轉『PNG』到『WebP』,遞迴語法(只適用於兩層結構)
for /R %f in (*.png) do cwebp.exe "%f" -o "%~dpnf.webp"
轉『PNG』到『WebP』,遞迴語法(只適用於兩層結構),刪除原始圖片
for /R %f in (*.png) do ( cwebp.exe "%f" -o "%~dpnf.webp" && IF EXIST "%~dpnf.png" DEL "%f" )
轉『JPG JPEG』到『WebP』,遞迴語法(只適用於兩層結構)
for /R %f in (*.jpg *.jpeg) do cwebp.exe "%f" -o "%~dpnf.webp"
轉『JPG JPEG』到『WebP』,遞迴語法(只適用於兩層結構),刪除原始圖片
for /R %f in (*.jpg *.jpeg) do ( cwebp.exe "%f" -o "%~dpnf.webp" && IF EXIST "%~dpnf.webp" DEL "%f" )
固定exe位置
以上語法每次要把 dwebp.exe 和 cwebp.exe複製到資料夾太麻煩了,為了簡化流程你可以
把 exe檔案放到固定位置如 C:\webp
然後改一下語法例如↓
原本
for /R %f in (*.png) do cwebp.exe "%f" -o "%~dpnf.webp"
改成
for /R %f in (*.png) do C:\webp\cwebp.exe "%f" -o "%~dpnf.webp"
其他補充
在說明的文檔有許多參數各位可依照需要自己加上,例如無損的-lossless模式保留透明度, -q來調整輸出後的品質 , -z 來壓縮圖片
請問,有辦法寫成*.bat或*.cmd自動執行該指令轉換圖片嗎?謝謝。
以下存成 .bat ,大概看了一下改個變量前綴成%%就可以了
———-
@echo off
for %%f in (*.png) do (
cwebp.exe “%%f” -o “%%~nf.webp”
)
pause
———-
上面的指令都比較簡略,最好執行前先備份圖片