在命令行中调整 svg 图像的大小 canvas

Resize canvas of svg images in command line

我有一堆 svg 图像(1.svg 2.svg ...),我想将它们居中并将它们的大小 canvas 调整为相同的值。假设图像 1.svg 有 w。 600 和小时。 800 和 2.svg 有 w。 1000 和小时。 400. 我想为 1000x800 和中心图像设置 canvas。因此,图像不会调整大小,但它们的侧面会有额外的 space -> 1.svg 仍然是 600x800,但在 canvas 中,尺寸为 1000x800 和 2.svg将是 1000x400,但在 canvas 中,尺寸为 1000x800。是否可以在命令行中执行?使用 inkscape、imagemagick 等?

提前致谢!

你需要 ImageMagick-extent 选项,像这样:

convert 1.svg -gravity center -background yellow -extent 1000x800 result.png

所以,让我们制作一些图像:

convert -size 600x800! xc:red 1.png
convert 1.png -gravity center -background yellow -extent 1000x800 result.png

或者反过来:

convert -size 1000x400! xc:red 2.png
convert 2.png -gravity center -background blue -extent 1000x800 result.png