将图像的背景转换为透明

时间:2017-04-04 13:56:49

标签: imagemagick

我想将图片的背景转换为透明。我使用下面的脚本进行转换。我也将图像转换为png。

convert  -resample 300x300 -depth 8 "%1"[0] -fuzz 10% -transparent white -flatten -resize 1260x1260 -quality 80 "%2".

我也试过下面的命令:

convert -resample 300x300 -depth 8 "%1"[0] -background none -flatten -resize 1260x1260 -quality 80 "%2"

但使用上面的脚本背景不会转换为透明。 你能否告诉我Imagemagick脚本转换背景。

提前致谢。

1 个答案:

答案 0 :(得分:0)

更新了答案

你真的需要展示你的形象,但如果背景是你的白色,那么这应该有效:

convert start.png -fuzz 40% -transparent white result.png

如果这不起作用,我真的无法帮助你显示图像。

原始答案

您需要更清楚地了解背景当前的颜色,以及如何识别它 - 或显示您的图像。

如果我们假设这是你的起始形象:

enter image description here

然后我们可以像这样使蓝色像素透明:

convert start.png -fuzz 10% -transparent blue result.png

enter image description here

如果我们将此作为您的开始图片:

enter image description here

并将模糊设置为“在黑色的10%以内”,我们将执行此操作:

convert start.png -fuzz 10% -transparent black result.png

enter image description here

然而,如果我们使黑色的30%内的像素变得透明:

convert start.png -fuzz 30% -transparent black result.png

我们会得到这个:

enter image description here