Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSSVG getCTM和setCTM?_Javascript_Svg - Fatal编程技术网

Javascript JSSVG getCTM和setCTM?

Javascript JSSVG getCTM和setCTM?,javascript,svg,Javascript,Svg,如果我使用getCTM()获取当前的转换矩阵,如果我想在以后还原它,我如何使用该对象来设置矩阵(我知道保存和还原,但它们指的是画布而不是项目) 我知道我设置了属性: var m = someitem.getCTM(); $(someitem).attr("transform", "matrix("+m.a+","+m.b+","+m.c+","+ m.d+","+m.e+","+m.f+")"); 但这似乎是一个很长的路要走。我找不到任何这样的关闭函数的setCTM函数 为webkit开发,如

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

我知道我设置了属性:

var m = someitem.getCTM();
$(someitem).attr("transform", "matrix("+m.a+","+m.b+","+m.c+","+ m.d+","+m.e+","+m.f+")");
但这似乎是一个很长的路要走。我找不到任何这样的关闭函数的setCTM函数

为webkit开发,如果这有区别的话

谢谢

var transform = ownerSVGElement.createSVGTransform()

transform.setMatrix(elem.getCTM())

someelement.transform.baseVal.initialize(transform)
如果不保存
someItem.getCTM()
,而是保存
someItem.transform.baseVal.getitem(0)
,则可以使用:

function setTransform(someitem,t) {
  return someitem.transform.baseVal.initialize(t));
}
function setTransform(someitem,t) {
  return someitem.transform.baseVal.initialize(t));
}