我有一个带有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
其他回答
都试过了,没有一个成功。这一个做到了:
convert input.png -channel rgba -alpha set \
-fill none -opaque white \
-fill white -opaque black \
-fill white -opaque none \
-alpha off output.png
这不是你问题的确切答案,但我在试图弄清楚如何删除alpha通道时发现了你的问题,所以我决定在这里添加这个答案:
如果你想使用imagemagick删除alpha通道,你可以使用这个命令:
mogrify -alpha off ./*.png
下面是如何将一个目录中所有文件夹中的相同图像替换为白色而不是透明的:
Mogrify -background white -flatten */*.png
Welp看起来我决定安装“图形魔法”而不是“图像魔法”有一些粗糙的边缘-当我重新安装真正复杂的旧“图像魔法”时,上面的命令工作得很好。
编辑,很长一段时间后-有一天我会检查看看“图形魔法”是否已经解决了这个问题。
这对我来说很管用:
convert -flatten img1.png img1-white.png
文档引用:
-flatten命令行选项 -layers命令行选项(-flatten等价于-layers flatten)