我有一个带有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
其他回答
我需要-alpha background和-flatten,或者-fill。
我制作了一个新的PNG,背景透明,中间有一个红点。
Convert image.png -background green -alpha off green.png失败:它生成了一个黑色背景的图像
Convert image.png -background green -alpha background -flatten green.png生成一个具有正确绿色背景的图像。
当然,对于另一个我重命名为image.png的文件,它什么都没做。对于那个文件,我发现透明像素的颜色是“#d5d5d5”,所以我用绿色填充该颜色:
Convert image.png -fill green -opaque "#d5d5d5" green.png将透明像素替换为正确的绿色。
都试过了,没有一个成功。这一个做到了:
convert input.png -channel rgba -alpha set \
-fill none -opaque white \
-fill white -opaque black \
-fill white -opaque none \
-alpha off output.png
是-alpha off,不是-alpha remove!iOS应用商店上传失败时,有一个alpha频道在任何图标!!
以下是如何做到这一点: Mogrify -alpha off *.png
这不是你问题的确切答案,但我在试图弄清楚如何删除alpha通道时发现了你的问题,所以我决定在这里添加这个答案:
如果你想使用imagemagick删除alpha通道,你可以使用这个命令:
mogrify -alpha off ./*.png
这就创建了一个图像,只是将第一个透明的图像放在第二个上面
composite -gravity center ImgWithTransp.png BackgroundSameSizeOfImg.png ResultImg.png
最初是在这个帖子上发现的提示