SVGTransformList: createSVGTransformFromMatrix() 方法

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

SVGTransformList 介面的 createSVGTransformFromMatrix() 方法建立一個 SVGTransform 物件,該物件被初始化為 SVG_TRANSFORM_MATRIX 型別的變換,其值由給定的矩陣決定。

引數矩陣的值會被複制;矩陣引數不會被採納為 SVGTransform::matrix

語法

js
createSVGTransformFromMatrix(matrix)

引數

matrix

一個 DOMMatrix 物件;變換矩陣。

返回值

一個 SVGTransform 物件。

示例

從矩陣建立變換

html
<svg width="200" height="200">
  <rect width="100" height="100" fill="blue" />
</svg>
js
const svgElement = document.querySelector("svg");
const rectElement = svgElement.querySelector("rect");

// Access the transform list of the <rect> element
const transformList = rectElement.transform.baseVal;

// Create a DOMMatrix object for a rotation transformation
const rotationMatrix = new DOMMatrix();
rotationMatrix.a = Math.cos(Math.PI / 4); // 45-degree rotation
rotationMatrix.b = Math.sin(Math.PI / 4);
rotationMatrix.c = -Math.sin(Math.PI / 4);
rotationMatrix.d = Math.cos(Math.PI / 4);

// Create an SVGTransform object from the matrix
const svgTransform = transformList.createSVGTransformFromMatrix(rotationMatrix);

// Append the new transformation to the transform list
transformList.appendItem(svgTransform);

console.dir(svgTransform); // Output: SVGTransform { type: 1, matrix: SVGMatrix, angle: 0 }

規範

規範
Scalable Vector Graphics (SVG) 2
# __svg__SVGTransformList__createSVGTransformFromMatrix

瀏覽器相容性

另見