11

getCTM() を使用して現在の変換マトリックスを取得する場合、後で復元する場合、そのオブジェクトを使用してマトリックスを設定するにはどうすればよいですか (保存と復元については知っていますが、アイテムではなくキャンバスを参照します)。

私は属性を設定していることを知っています:

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

しかし、それはそれを行うには長い道のりのようです。そのような close 関数の setCTM 関数が見つかりません。

それが違いを生むなら、webkitの開発。

ありがとう!

4

2 に答える 2

7
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));
}
于 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 に答える