我有一个带有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

其他回答

这是我的工作:

magick convert OLD.png -background white -alpha remove NEW.png

下面是一个带有透明背景的初始图像,以防它有助于测试:

此外,对于PC上的一次性,你可以在Windows Paint中打开PNG文件,然后单击保存。这将自动将透明变成不透明的白色。

Welp看起来我决定安装“图形魔法”而不是“图像魔法”有一些粗糙的边缘-当我重新安装真正复杂的旧“图像魔法”时,上面的命令工作得很好。

编辑,很长一段时间后-有一天我会检查看看“图形魔法”是否已经解决了这个问题。

唯一对我有效的答案是所有答案的混合:

convert in.png -background white -alpha remove -flatten -alpha off out.png

这对我来说很管用:

convert -flatten img1.png img1-white.png

文档引用:

-flatten命令行选项 -layers命令行选项(-flatten等价于-layers flatten)

看起来你的命令是正确的,所以问题可能是由于缺少对PNG()的支持。你可以用convert -list配置来检查,或者试试下面的命令:

sudo yum install libpng libpng-devel