【问题标题】:How to add a background to a transparent PNG file?如何为透明的PNG文件添加背景?
【发布时间】:2021-08-17 04:24:41
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: terminal imagemagick


    【解决方案1】:

    如果你想在 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告诉你怎么做变量

    在 ImageMagick 7 上,在 Unix 中,您可以更轻松地做到这一点:

    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
    

    【讨论】:

    • 这会将背景放在图像后面,但不会使用cover方法居中和缩放。就我而言,背景较大,因此不匹配。我也很想得到关于这些步骤的解释。 (你的回答总比没有好,因为我可以调整顶部图像的大小以匹配背景大小,所以还是谢谢你。)
    • 命令将其平铺。你没有清楚地解释你想要什么。调整大小将是一个不同的命令。我会发布的。
    猜你喜欢
    • 2013-12-10
    • 2018-08-04
    • 2011-12-04
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2016-06-21
    • 2023-03-31
    • 2011-06-23
    相关资源
    最近更新 更多