首页 > 解决方案 > 如何为透明的PNG文件添加背景?

问题描述

我正在尝试使用 ImageMagick 将 PNG 文件作为背景添加到具有透明区域的 PNG 图像,如下所示:

convert input.png -texture bg.png output.png

到目前为止,我还没有弄清楚如何将背景填充到 100% 宽度/高度,因为上面的示例不起作用。我最终得到了相同的透明文件,但我不知道为什么。

如何在整个文件中应用使用全宽/全高的背景?(最好使用覆盖方法,意思是保持背景的纵横比和切割重叠)

标签: terminalimagemagick

解决方案


如果你想在 Unix 上平铺背景,试试

convert input.png \( +clone -tile bg.png -draw "color 0,0 reset" \) +swap -compose over -composite output.png

在 Windows 上:

convert input.png ( +clone -tile bg.png -draw "color 0,0 reset" ) +swap -compose over -composite output.png

如果您只想调整背景大小,请在 Unix 上尝试

dims=$( convert input.png -format "%wx%h" info: )
convert input.png \( bg.png -resize $dims +repage \) +swap -compose over -composite output.png

我不太懂windows告诉你怎么做变量

在 Unix 中的 ImageMagick 7 上,您可以更轻松地执行以下操作:

magick input.png -set option:dims "%wx%h" \( bg.png -resize "%[dims]" \) +swap -compose over -composite output.png

或在 Windows 中:

magick input.png -set option:dims "%wx%h" ( bg.png -resize "%[dims]" ) +swap -compose over -composite output.png

推荐阅读