SVGPathElement: getPathData() 方法

實驗性: 這是一項實驗性技術
在生產中使用此技術之前,請仔細檢查瀏覽器相容性表格

SVGPathElement.getPathData() 方法會返回與路徑資料對應的路徑段序列,可以選擇性地對值和段型別進行規範化。

語法

js
getPathData()
getPathData(options)

引數

options 可選

一個可選物件,用於控制路徑資料檢索過程的方面。此物件可能包含以下屬性:

normalize 可選

一個布林值,指示返回的路徑段序列是否轉換為一組基本的 絕對命令'M''L''C''Z'),並相應地調整值。

返回值

與路徑資料對應的路徑段陣列。如果沒有有效的路徑資料,則返回一個空序列。

每個路徑段都是一個具有以下屬性的物件:

type

一個 路徑命令。如果 options.normalize 為 true,則此命令將是絕對命令之一:'M''L''C''Z'

包含相應命令引數的陣列或值。

示例

獲取路徑資料

考慮以下繪製正方形的 <path> 元素:

xml
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64">
  <path d="M0,0 h64 v64 h-64 z" />
</svg>

getPathData() 方法將返回一個數組,其中包含與 d 屬性中設定的原始路徑資料相同的資料。如果設定了 normalize: true 選項,它將返回已規範化為一組基本路徑命令的路徑資料。

js
const path = document.querySelector("path");

console.log(path.getPathData());

// Output: raw path data:
// [
//   { type: "M", values: [0, 0] },
//   { type: "h", values: [64] },
//   { type: "v", values: [64] },
//   { type: "h", values: [-64] },
//   { type: "Z", values: [] }
// ]

console.log(path.getPathData({ normalize: true }));

// Output: normalized path data:
// [
//   { type: "M", values: [0, 0] },
//   { type: "L", values: [64, 0] },
//   { type: "L", values: [64, 64] },
//   { type: "L", values: [0, 64] },
//   { type: "Z", values: [] }
// ]

規範

規範
SVG 路徑
# __svg__SVGPathData__getPathData

瀏覽器相容性