如何重新计算(而不只是缩放/变换)SVG路径以适合边界框?

时间:2019-03-19 09:37:57

标签: svg vega vega-lite

我正在尝试绘制Isotype Bar Chart with Vega-Lite。 Vega-Lite支持将自定义SVG路径字符串(例如"M10 10 H 90 V 90 H 10 L 10 10")作为形状,但建议将路径绘制命令的中心放在-1到1的x和y轴(Vega-Lite spec的边界框内)

我有一些要使用的图标,但它们不适合边界框。我尝试使用Inkscape调整它们的大小,但是它只是向现有路径添加了一个转换属性。当然,这适用于在浏览器(或其他位置)中查看SVG,但是由于Path本身保持不变,因此Vega-Lite图表显示SVG太大且偏心。

有没有一种方法可以重新计算SVG路径?

对于上述示例,我想要的解决方案是"M-1 -1 H 1 V 1 H -1 L -1 -1"

1 个答案:

答案 0 :(得分:0)

有一个inkscape附加组件,它提供了将变换递归应用于形状的功能。方便命名为applytransforms,安装后它位于Extensions | Modify Path | Apply Transform

下的菜单中

请注意,这将修改路径,并且示例路径的直线变为直线贝塞尔曲线:

"M-1.0 -1.0C-1.0 -1.0 1.0 -1.0 1.0 -1.0C1.0 -1.0 1.0 1.0 1.0 1.0C1.0 1.0 -1.0 1.0 -1.0 1.0C-1.0 1.0 -1.0 -1.0 -1.0 -1.0"