11

如果我使用 getCTM() 来获取当前的转换矩阵,如果我想在以后恢复它,我该如何使用该对象来设置矩阵(我知道保存和恢复,但那些指的是画布而不是项目)

我知道我设置了属性:

var m = someitem.getCTM();
$(someitem).attr("transform", "matrix("+m.a+","+m.b+","+m.c+","+ m.d+","+m.e+","+m.f+")");

但这似乎还有很长的路要走。我找不到任何此类关闭功能的 setCTM 功能。

为 webkit 开发,如果这有所作为。

谢谢!

4

2 回答 2

7
function setCTM(someitem,m) {
  return someitem.transform.baseVal.initialize(
    someitem.ownerSVGElement.createSVGTransformFromMatrix(m));
}

如果不是 save ,而是someItem.getCTM()save someitem.transform.baseVal.getitem(0),您可以使用:

function setTransform(someitem,t) {
  return someitem.transform.baseVal.initialize(t));
}
于 2013-01-29T16:21:55.040 回答
6
var transform = ownerSVGElement.createSVGTransform()

transform.setMatrix(elem.getCTM())

someelement.transform.baseVal.initialize(transform)
于 2012-04-23T17:57:05.837 回答