ImageMagick:将白色背景置于透明PNG下,然后反转颜色

时间:2017-09-23 15:49:04

标签: bash image-processing imagemagick

我在透明背景上有一个黑色形状的PNG图像。 我需要在纯黑色背景上使用白色形状。

如何使用Imagemagick实现这一目标?

图片示例:

我有这个:

enter image description here

我想要这个:

enter image description here

3 个答案:

答案 0 :(得分:1)

您发布的图片不透明。它有一个不透明的棋盘背景。但是,如果它是透明的,那么这个Imagemagick命令应该可以工作。

convert image.png -background white -flatten -negate result.png

如果使用Imagemagick 7,则将转换为magick

答案 1 :(得分:1)

正如@ fmw42所说,你的图像不是真正的PNG图像。因此,对于您的图像,您可以这样做:

Version
6.1.7601.18917

哪个会给你:

result

答案 2 :(得分:1)

可以简单地将alpha通道提取到新图像。

例如,让我们创建一个透明图像。

 convert -size 100x100 xc:transparent -fill black -draw 'circle 50,50 50,10' transparent.png

transparent.png

现在我们可以提取alpha通道,知道完全透明是黑色,而不透明是白色。

 convert transparent.png -alpha extract output.png

output.png