Tob*_*oby 47 png transparency background imagemagick
convert input.png -extent 100x100 -gravity center -background white output.png
Run Code Online (Sandbox Code Playgroud)
如果输入为50x50,则周围背景为白色.我可以以某种方式将其设置为透明而不将输入中的任何颜色声明为透明吗?
Kur*_*fle 93
请改用:
convert \
input.png \
-background none \
-gravity center \
-extent 100x100 \
output.png
Run Code Online (Sandbox Code Playgroud)
注意:参数的顺序很重要!(说服自己,只是把-background none参数放在最后而不是开始...)
更新:感谢@jesmith,他注意到我最初提供的命令行不再按预期工作.更新的版本convert还要求之前-gravity center调用.(这是一个ImageMagick最新版本[最初写这个答案的时候]引入的变化之一). -extent 100x100
库尔特的说明具有讽刺意味,订单很重要.Kurt的命令导致gravity未应用于extent,因此透明的"边框"将全部位于图像的底部和/或右侧.
gravity之前移动extent将在所有适用的侧面正确创建相同的透明"边框".
convert input.jpg -background none -gravity Center -extent 100x50 output.png