以编程方式组合SVG图像

时间:2012-10-02 09:24:41

标签: scripting svg batch-processing

我有一个程序可以批量生成多个SVG文件,然后我需要将它组合(平铺)到一个文件中,设置空格和设置宽度(cm(或mm))。

我需要一个现有的脚本或指向我可以使用哪些库和语言来完成此任务的指针。有什么建议从哪里开始?

3 个答案:

答案 0 :(得分:3)

以下是一些可以帮助您从 svg 文件创建 SVG 精灵表的工具:

<强> SVG STACK

<强> SVG UTILS

然后,当使用像

这样的工具完成所有操作时,你可以清理你的svg

<强> SCOUR

答案 1 :(得分:0)

是的@victor-henriquez注意到你可以使用montage,但这有点棘手,我通过激活-verbose输出进入它并看到它创建了一个inkscape命令并分析为我解决了这个问题。

montage -version
# Version: ImageMagick 7.0.7-31 Q16 x86_64 20180506

我想......

  • ...标记桌面图标:使用-label-pointsize(棘手通过点数调整字体大小,但取决于密度)
  • ...增加-density(为输出找到合适的数字很棘手)
  • ...按顺序堆叠并平铺它们:使用-tile 15x30(此处为15列x 30行)
  • ...在每个子图像上添加边距:使用-geometry '+40+0'(水平加40px但垂直加0px)

结果命令是(添加-verbose以获取详细的处理信息):

montage -label '%f' -pointsize 2 -density 300 *.svg \
  -tile 15x30 \
  -geometry '+40+0' \
 ./papirus-icons-mimetypes.png

如果另外指定所需的输出像素大小几何,例如。 96像素乘96像素-geometry '96x96+40+0',了解-density扮演什么角色变得更加复杂。我没有深入解读; - )

答案 2 :(得分:-1)

您可以通过ImageMagick查看蒙太奇:http://www.imagemagick.org/Usage/montage/

您可以围绕它构建脚本。