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

时间:2011-04-13 10:42:11

标签: imagemagick

想象一下,我有rgb.jpg和alpha.png。如何将它们与Imagemagick组合成rgba.png?

1 个答案:

答案 0 :(得分:20)

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

如果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

请注意,您可能必须在后一个命令中转义括号,具体取决于您的命令行环境。

如有必要,您还可以在将灰度图像用作Alpha通道之前将其反转:

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