JS SVG getCTM и setCTM?
Если я использую getCTM () для получения текущей матрицы преобразования, как использовать этот объект для установки матрицы, если я хочу восстановить ее позже (я знаю о сохранении и восстановлении, но они относятся к холсту, а не к элементам)
Я знаю, что я установил атрибут:
var m = someitem.getCTM();
$(someitem).attr("transform", "matrix("+m.a+","+m.b+","+m.c+","+ m.d+","+m.e+","+m.f+")");
но это кажется довольно длинным способом сделать это. Я не могу найти функцию setCTM любой такой близкой функции.
разработка для webkit, если это делает разница.
спасибо!
2 ответов
var transform = ownerSVGElement.createSVGTransform()
transform.setMatrix(elem.getCTM())
someelement.transform.baseVal.initialize(transform)
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));
}