我想使用Imagemagick将一些png合成为一个png。
其中一张图片(b_0_1.png)是一个遮罩。我需要使用添加成分来应用。
但是结果中的背景存在问题,应该是透明的,但是有一个黑色的正方形。
这是我的命令:
Q[c[a["MSISDN"]]]
黑色区域应该是透明的。
图片:http://s000.tinyupload.com/index.php?file_id=91925640425537122879
答案 0 :(得分:1)
在ImageMagick中,您可以
magick -size 256x256 canvas:transparent \
-channel rgb \
img/a_0_0.png -geometry +111+64 -compose over -composite \
img/b_0_1.png -geometry +94+48 -compose plus -composite \
img/c_0_0.png -geometry +108+88 -compose over -composite \
img/d_0_0.png -geometry +102+62 -compose over -composite \
png32:result.png
添加: 我想这就是您要从评论中得到的。
magick -size 256x256 canvas:transparent \
img/a_0_0.png -geometry +111+64 -compose over -composite \
\( img/b_0_1.png -alpha opaque -alpha copy \) -geometry +94+48 -compose plus -composite \
img/c_0_0.png -geometry +108+88 -compose over -composite \
img/d_0_0.png -geometry +102+62 -compose over -composite \
png32:result.png
答案 1 :(得分:1)
使用ImageMagick 7,您可以使用像这样的命令...
magick -background none \
\( -page +111+64 a_0_0.png \) \
\( -page +94+48 b_0_1.png -alpha copy -set compose plus \) \
\( -page +108+88 c_0_0.png \) \
\( -page +102+62 d_0_0.png \) \
-page 256x256 -flatten png32:result.png
这将在每个子图像的括号内设置分页几何。
在带有蒙版图像“ b_0_1.png”的括号内,“-alpha副本”摆脱了黑色,并且“ -set compose”将组合方法“ plus”应用于该单个图像。
然后将页面大小设置为256x256,并且所有零件都将根据其页面几何形状进行展平和放置。由于背景设置为“无”,因此在展平子图像时会创建透明画布。
默认为compose方法“ over”,因此它用于没有设置compose方法的图像。使用组合方法“加号”将蒙版图像展平。
我使用bash上的IM6和Windows上的IM7对此进行了测试。对于此IM7示例,我将IM6 bash的“转换”更改为“ magick”。无论哪种版本,它都应该完全相同。