Path SVG:简化路径以删除曲线?
我有一个svg文件,其中包含带有贝塞尔曲线的复杂路径。 我需要转换这个路径数据以用于html映射区域,所以实际上我只需要坐标(但对于大型曲线,在两个端点之间有一些坐标会非常好) 我尝试了Inkscape的简化路径函数,但这些路径仍然包含曲线 是否有任何工具或公式将这些曲线转换为简单坐标 可能是另一种在其坐标中不使用曲线的Inkscape输出格式?在Inkscape中:Path SVG:简化路径以删除曲线?,path,svg,inkscape,Path,Svg,Inkscape,我有一个svg文件,其中包含带有贝塞尔曲线的复杂路径。 我需要转换这个路径数据以用于html映射区域,所以实际上我只需要坐标(但对于大型曲线,在两个端点之间有一些坐标会非常好) 我尝试了Inkscape的简化路径函数,但这些路径仍然包含曲线 是否有任何工具或公式将这些曲线转换为简单坐标 可能是另一种在其坐标中不使用曲线的Inkscape输出格式?在Inkscape中: 选择“按节点编辑路径”工具(F2) 单击您的路径以选择它 Ctrl+A以选择该路径中的所有节点 单击将新节点插入选定的线段中。重
要实现自动化,请尝试Inkscape.Description中包含的
展平Bezier
扩展。有更多技术方法可以简化SVG路径-
如果您只需要坐标,您不能使用脚本将它们从SVG文件中提取出来吗?这比“使选定的线段成为直线”要好得多,因为它实际上会添加节点来近似曲线。这是正确的解决方案。它解决了
问题,但对于大型曲线,最好在问题中的两个端点之间有一些坐标。扩展位于中的Extensions
修改路径展平Beziers…
kscape 0.92。可以使用“生成选定线段直线”来完成此操作。但是,已接受的答案完全错过了关键步骤。我已对其进行编辑以添加此步骤:在“生成选定线段直线”之前使用“将新节点插入选定线段”
var path = [ [250, 150], [250, 150], [25, 25], [24, 25], [10, 10] ]
var tolerance = 10
path = simplify(path, tolerance)
//result:
//[ [ 250, 150 ], [ 25, 25 ], [ 10, 10 ] ]