ImageMagick:如何将透明背景更改为一种颜色?

10

给定一个带有透明背景的输入图片 sample.i.png:

enter image description here

如何将其背景转换为具有背景色 rgb(160,160,255),不透明度为100%(或1)的文件 sample.o.png


答案:

convert source.png -background "rgb(160,160,255)" -flatten out.png 
请点赞 emcconville 的回答!

2
答案是将其与相同大小的纯色图像混合,但我不知道如何在ImageMagick中具体实现。 - Mark Ransom
1个回答

18

根据Mark Random的建议,创建一个以您的颜色为背景的图像,并将源图像平铺在其上。

 convert -size 150x150 xc:"rgb(160,160,255)" source.png -layers flatten out.png

example

编辑 如果您不想担心图片大小,可以直接更改背景。

convert source.png -background "rgb(160,160,255)" -flatten out.png 

添加 -flatten 以重新设置背景颜色


似乎太具体化了,如果文件大小改变,命令就会失效。 - Hugolpz
1
我点了个赞,但希望有一个更通用的答案。 - Hugolpz
1
添加了更通用的示例 - emcconville

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接