Scripting 以编程方式组合SVG图像
我有一个程序,可以批量生成多个SVG文件,然后我需要能够将这些文件组合(平铺)成一个文件,并以厘米(或毫米)为单位设置空白和宽度Scripting 以编程方式组合SVG图像,scripting,svg,batch-processing,Scripting,Svg,Batch Processing,我有一个程序,可以批量生成多个SVG文件,然后我需要能够将这些文件组合(平铺)成一个文件,并以厘米(或毫米)为单位设置空白和宽度 我需要一个现有的脚本或一个指针,指向我可以用来实现这一点的库和语言。从哪里开始有什么建议吗?您可以从ImageMagick中查看蒙太奇: 您可以围绕它构建脚本。以下是一些工具,可以帮助您从SVG文件创建SVG精灵表: 然后,当所有这些都使用类似的工具完成时,您就可以清理svg了 是的,如前所述,您可以使用蒙太奇,但这有点棘手,我通过激活-verbose输出进入它,
我需要一个现有的脚本或一个指针,指向我可以用来实现这一点的库和语言。从哪里开始有什么建议吗?您可以从ImageMagick中查看蒙太奇:
您可以围绕它构建脚本。以下是一些工具,可以帮助您从SVG文件创建SVG精灵表: 然后,当所有这些都使用类似的工具完成时,您就可以清理svg了 是的,如前所述,您可以使用
蒙太奇
,但这有点棘手,我通过激活-verbose
输出进入它,并看到它创建了一个inkscape
命令并进行分析,为我解决了这个问题
montage -version
# Version: ImageMagick 7.0.7-31 Q16 x86_64 20180506
我想
- …标记桌面图标:使用
和-label
(通过pointsize获得正确的字体大小很难,但取决于密度)-pointsize
- …以增加密度(很难为输出找到合适的数字)
- …要按顺序堆叠和平铺:使用
(此处为15列x 30行)-tile 15x30
- …要在每个子图像上添加边距,请使用
(水平添加40px,垂直添加0px)-geometry'+40+0'
-verbose
以获取详细的处理信息):
如果您另外指定所需的输出像素大小几何体,例如96像素乘96像素
-geometry“96x96+40+0”
,则理解-density
的作用将变得更加复杂。我没能把它弄清楚;-) 蒙太奇似乎不支持矢量图形,它支持SVG。我对他们使用蒙太奇,没有任何问题。ImageMagick®是一个用于创建、编辑、合成或转换位图图像的软件套件。它可以读取和写入各种格式(超过100种)的图像,包括DPX、EXR、GIF、JPEG、JPEG-2000、PDF、PhotoCD、PNG、Postscript、SVG和TIFF。但据我所知,我需要将数据转换为光栅以使用蒙太奇?我还需要SVG输出。
montage -label '%f' -pointsize 2 -density 300 *.svg \
-tile 15x30 \
-geometry '+40+0' \
./papirus-icons-mimetypes.png