如何使用Imagemagick将RGB图像和8位alpha图像组合成单个PNG文件?

如何使用Imagemagick将RGB图像和8位alpha图像组合成单个PNG文件?,imagemagick,Imagemagick,假设我有rgb.jpg和alpha.png。如何将它们与Imagemagick结合到rgba.png中?由于您没有指定,我将假设从命令行运行一个足够新的Imagemagick版本。这是在Linux上使用ImageMagick 6.6.9-7测试的(从) 如果alpha.png是要从中复制alpha通道的图像,或者是没有alpha通道的灰度图像,则可以使用以下选项: convert rgb.jpg alpha.png -compose copy-opacity -composite rgba.pn

假设我有rgb.jpg和alpha.png。如何将它们与Imagemagick结合到rgba.png中?

由于您没有指定,我将假设从命令行运行一个足够新的Imagemagick版本。这是在Linux上使用ImageMagick 6.6.9-7测试的(从)

如果
alpha.png
是要从中复制alpha通道的图像,或者是没有alpha通道的灰度图像,则可以使用以下选项:

convert rgb.jpg alpha.png -compose copy-opacity -composite rgba.png
否则,您将不得不在
alpha.png
上进行更多的处理。例如,这会将
alpha.png
转换为灰度,并忽略alpha通道:

convert rgb.jpg ( alpha.png -colorspace gray -alpha off ) -compose copy-opacity -composite rgba.png
convert rgb.jpg ( alpha.png -colorspace gray -alpha off -negate ) -compose copy-opacity -composite rgba.png
请注意,根据您的命令行环境,您可能必须在后一个命令中转义括号

如有必要,也可以在将灰度图像用作alpha通道之前反转灰度图像:

convert rgb.jpg ( alpha.png -colorspace gray -alpha off ) -compose copy-opacity -composite rgba.png
convert rgb.jpg ( alpha.png -colorspace gray -alpha off -negate ) -compose copy-opacity -composite rgba.png