2011-06-17 143 views
8

我有一個svg文件,其中包含複雜的路徑與貝塞爾曲線。 我需要將此路徑數據轉換爲用於html地圖區域,因此實際上我只需要座標(但對於大型曲線,在兩個端點之間有一些座標是非常好的) 。SVG:簡化刪除曲線的路徑?

我嘗試Inkscape中的簡化路徑功能,但這些路徑仍然包含曲線...

是否有任何工具或公式,這些曲線轉換爲簡單的座標?

也許另一個Inkscape的輸出格式,不使用座標曲線?

+0

如果你只需要座標,你能不能提取出來使用腳本SVG文件的? – 2011-06-17 14:16:58

回答

12

Inkscape:

  • 選擇節點編輯路徑工具(F2)。
  • 點擊你的路徑上選擇它
  • 按Ctrl-A在該路徑選擇所有節點
  • 點擊將所選段線(在頂部的工具欄上的 - 圖標是直對角線在兩個方形節點之間)。
6

對於自動化,請嘗試在Inkscape中包含的Flatten Bezier擴展。說明here

+1

這比「製作選定的細分線」要好得多,因爲它實際上會添加節點來近似曲線。 – 2016-11-20 19:20:28

0

還有就是要簡化SVG路徑更多的技術方法 - https://github.com/mattdesl/simplify-path

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 ] ]