convert input.png -extent 100x100 -gravity center -background white output.png
如果输入为50x50,则周围背景为白色。我可以以某种方式将其设置为透明而不将输入中的任何颜色声明为透明吗?
答案 0 :(得分:87)
请改用:
convert \
input.png \
-background none \
-gravity center \
-extent 100x100 \
output.png
注意: 参数的顺序非常重要! (为了说服自己,只需将-background none
放在参数的末尾而不是开头......)
更新:感谢@jesmith,他注意到我最初提供的命令行不再按预期工作。更新版本的convert
还要求在{/ em> -gravity center
之前将-extent 100x100
称为。 (这是ImageMagick最新版本[最初撰写此答案时]引入的更改之一)。
答案 1 :(得分:8)
Kurt的笔记具有讽刺意味,订单很重要。 Kurt的命令导致gravity
未应用于extent
,因此透明的“边框”将全部位于图像的底部和/或右侧。
在gravity
之前移动extent
将在所有适用的方面正确创建相同的透明'边框'。
convert input.jpg -background none -gravity Center -extent 100x50 output.png