我一直在访问SVGMatrix原型以利用它的矩阵变换功能。这些变换不一定与任何SVG元素相关。
var svgElement = $('svg')[0];
var svgMatrix = svgElement.createSVGMatrix()
Object.create(svgMatrix.__proto__)
本质上,我希望能够像第二行那样创建一个svgMatrix,而不必像第一行那样先依赖于DOM中的svg元素。
我一直在访问SVGMatrix原型以利用它的矩阵变换功能。这些变换不一定与任何SVG元素相关。
var svgElement = $('svg')[0];
var svgMatrix = svgElement.createSVGMatrix()
Object.create(svgMatrix.__proto__)
本质上,我希望能够像第二行那样创建一个svgMatrix,而不必像第一行那样先依赖于DOM中的svg元素。
怎么样?
var matrix = document.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGMatrix();
只需使用 new DOMMatrix()
。它和 SVGMatrix 是相同的。
尽管 DOMMatrix !== SVGMatrix
,
它们共享相同的构造函数 DOMMatrix.constructor === SVGMatrix.constructor
。
lib.dom.d.ts
也将两者等同起来:
type SVGMatrix = DOMMatrix;
declare var SVGMatrix: typeof DOMMatrix;