Svg Fit Canvas通过C#绘图

时间:2017-10-09 17:12:46

标签: c# svg inkscape

我正在尝试将SVG拆分为许多不同的SVG文件,每个文件包含一个元素原始文件。

我的主要问题不是滑动本身,因为对于我必须拆分的每个元素,我得到svg元素,从原始svg中删除其他所有内容,将元素添加回主层,然后使用我想要的名字。这很好用。 真正的问题是我创建的每个文件都以原始svg文件中的视图为中心和标注尺寸。所以通常它是错位的和宽的(因为在原始文件中它将包含现在被分成不同文件的所有元素)。 所以我需要将画布调整为保留在文件中的元素。

这个功能由inkscape使用命令

完成

inkscape --verb = FitCanvasToDrawing --verb = FileSave --verb = FileClose

但不幸的是,这个动词在--with-gui模式下不起作用,所以如果我在代码中调用它,我会看到数千个inkscape实例打开,拟合画布然后保存并关闭窗口。它可以工作,但它对批处理应用程序来说并不好(他们有很多年以来的“错误”)。

所以我使用了SVG引擎(https://github.com/vvvv/SVG),但它有一个错误阻止正确计算元素边界(https://github.com/vvvv/SVG/issues/331),因此我无法将视图框或svg元素更改为正确的价值观。

有关如何计算正确位置和大小的任何建议?或者任何其他适用于此的库(可以批量运行的任何语言)?

0 个答案:

没有答案