2012-04-23 25 views
6

Geçerli dönüşüm matrisini almak için getCTM() yöntemini kullanırsam, bu nesneyi matrisini ayarlamak için nasıl kullanırım? İleri bir noktada geri yüklemek istiyorum (kaydetme ve geri yükleme hakkında biliyorum, ancak bunlar tuvale bakın ve değil öğe)JS SVG getCTM ve setCTM?

Ben niteliğini set biliyorum:

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

Ama bu bunu yapmanın uzun bir yol tür görünüyor. Böyle bir kapatma işlevinin setCTM işlevini bulamıyorum.

Webkit geliştirmek, fark yaratırsa.

Teşekkürler! yerine someItem.getCTM() kaydetme, sen someitem.transform.baseVal.getitem(0) kaydetmek Eğer

cevap

4
var transform = ownerSVGElement.createSVGTransform() 

transform.setMatrix(elem.getCTM()) 

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

, şunları kullanabilirsiniz:

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