1. 程式人生 > >ImageMagick 拆分透明PNG、合併JPG和Alpha Mask

ImageMagick 拆分透明PNG、合併JPG和Alpha Mask

      透明PNG圖片佔用空間較大,可以拆分為JPG圖片和只帶Alpha的PNG圖片。這裡使用ImageMagick進行拆分和合並實驗。 ImageMagick版本:6.9.0-Q16
以Bird.png圖片進行測試:
拆分透明PNG為JPG和只帶Alpha的PNG
1
2
"D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe" Bird.png -background black -alpha remove Bird.jpg
"D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe" Bird.png -alpha extract Bird_alpha_mask.png
生成的Bird.jpg圖片: 生成的Bird_alpha_mask.png圖片: 合併JPG和只帶Alpha的PNG為透明PNG
1
"D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe" Bird.jpg Bird_alpha_mask.png -compose copyopacity -composite Bird_with_alpha.png
生成的Bird_with_alpha.png圖片: 批處理: 拆分透明PNG為JPG和只帶Alpha的PNG
1
2
3
4
5
6
7
@echo off
set exevar="D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe"

for /f "usebackq tokens=*"
 %%d in (`dir /s /b *.png`) do (
    %exevar% "%%d" -background black -alpha remove "%%~dpnd.jpg"
    %exevar% "%%d" -alpha extract "%%~dpnd_alpha_mask.png"
)
合併JPG和只帶Alpha的PNG為透明PNG
1
2
3
4
5
6
@echo off
set exevar="D:\Program Files\ImageMagick-6.9.0-Q16\convert.exe"

for /f "usebackq tokens=*" %%d in (`dir
 /s /b *.jpg`) do (
    %exevar% "%%d" "%%~dpnd_alpha_mask.png" -alpha off -compose copyopacity -composite "%%~dpnd_with_alpha.png"
)