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

问题描述

| 想象一下,我有rgb.jpg和alpha.png。如何使用Imagemagick将它们合并为rgba.png?     

解决方法

由于您未指定,因此我假设从命令行运行了足够新版本的ImageMagick。这是在Linux(来自Debian)上使用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
请注意,根据您的命令行环境,您可能必须在后面的命令中转义括号。 如有必要,您还可以在将灰度图像用作Alpha通道之前将其反转:
convert rgb.jpg ( alpha.png -colorspace gray -alpha off -negate ) -compose copy-opacity -composite rgba.png
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...