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

本文介绍如何使用ImageMagick将透明PNG图片拆分为JPG图片和仅包含Alpha通道的PNG图片,并提供批处理脚本实现批量操作。同时,也介绍了如何将这两种图片重新合成为带有透明效果的PNG图片。
摘要由CSDN通过智能技术生成
      透明PNG图片占用空间较大,可以拆分为JPG图片和只带Alpha的PNG图片。这里使用ImageMagick进行拆分和合并实验。
ImageMagick版本:6.9.0-Q16

以Bird.png图片进行测试:


拆分透明PNG为JPG和只带Alpha的PNG
"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
"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
@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

@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"
)


参考资料:
1. Transparent JPEG Images on iOS  https://github.com/hollance/TransparentJPEG
2. cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染  http://www.cnblogs.com/elang/p/4104452.html
3. Add an existing alpha data from image to another image  http://www.wizards-toolkit.org/discourse-server/viewtopic.php?t=17529
4. Converting PNG to JPEG - black background  http://www.imagemagick.org/discourse-server/viewtopic.php?t=24048

原文地址:http://blog.csdn.net/akof1314/article/details/42922051

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值