我有一个带有alpha通道(即透明度)的PNG图像,我需要创建与图像层组合到白色背景的版本。我想使用一个可脚本化的命令,使用一个CLI工具,如Image Magick,直接将PNG无损地转换为PNG。
导致错误的Image Magick命令的一个例子是:
convert input.png -background white -flatten output.png
我有一个带有alpha通道(即透明度)的PNG图像,我需要创建与图像层组合到白色背景的版本。我想使用一个可脚本化的命令,使用一个CLI工具,如Image Magick,直接将PNG无损地转换为PNG。
导致错误的Image Magick命令的一个例子是:
convert input.png -background white -flatten output.png
当前回答
看起来你的命令是正确的,所以问题可能是由于缺少对PNG()的支持。你可以用convert -list配置来检查,或者试试下面的命令:
sudo yum install libpng libpng-devel
其他回答
下面是如何将一个目录中所有文件夹中的相同图像替换为白色而不是透明的:
Mogrify -background white -flatten */*.png
这对我来说很管用:
convert -flatten img1.png img1-white.png
文档引用:
-flatten命令行选项 -layers命令行选项(-flatten等价于-layers flatten)
扁平化图像和应用背景图像是直接的ImageMagick
然而,命令的顺序非常重要
要在透明图像上应用任何背景并将其压平,首先应用背景然后将其压平。反过来就不管用了。
$ convert sourceimage.png -background BackgroundColor -flatten destinationimage.png
这就创建了一个图像,只是将第一个透明的图像放在第二个上面
composite -gravity center ImgWithTransp.png BackgroundSameSizeOfImg.png ResultImg.png
最初是在这个帖子上发现的提示
要真正从文件中删除alpha通道,使用alpha off选项:
convert in.png -background white -alpha off out.png