ImageMagick扩展了透明背景的画布

时间:2012-08-29 13:41:39

标签: background imagemagick png transparency

convert input.png -extent 100x100 -gravity center -background white output.png

如果输入为50x50,则周围背景为白色。我可以以某种方式将其设置为透明而不将输入中的任何颜色声明为透明吗?

2 个答案:

答案 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