javascript - JS SVG getCTM 和 setCTM?

标签 javascript svg

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

我知道我设置了属性:

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

但这似乎有点漫长。我找不到任何此类关闭函数的 setCTM 函数。

如果有所不同,则为 webkit 进行开发。

谢谢!

最佳答案

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

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

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

关于javascript - JS SVG getCTM 和 setCTM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10281732/

相关文章:

javascript - 如何将图像放在 svg 标签前面

javascript - 如何保持动画停止的 linearGradient 位置

javascript - 如何使用 OR 逻辑按多列过滤 jQuery Tablesorter

javascript - 使用 JavaScript 删除 HTML 中的表 tr

javascript - 映射 JSON 数据并对 2 个 div 进行排序

javascript - 将指令隔离范围绑定(bind)传递到其 Controller `this` 上下文 (AngularJS V1.6)

html - 在不影响路径的情况下缩放 SVG

javascript - CanvasJS 图表不显示

javascript - D3 : Using a closure to update a selection without re-binding data

javascript - 在 d3.js 中将标签放置在节点的中心