SVG-Transformationen in JavaScript
SVG-Transformationen erfolgt durch JavaScript-Einstellungen Ihrer entsprechenden Attribute setAttribute("transform", "translate(x,y)")
sollte aber auch möglich sein, durch Reine JavaScript.
elem.transform.baseVal.getItem(0).setTranslate(x, y);
elem.transform.baseVal.getItem(0).setRotate(x, y);
Diese beiden sollten für die translation und rotation, aber wie wäre es, neigen, skalieren und matrix? elem.transform.baseVal.getItem(0).setMatrix()
vorhanden ist, aber soweit ich sagen kann, es nicht außer jeder params und SVGCreateMatrix()
übernimmt keine params entweder. Wie soll ich dies tun, und als bonus-Frage: was bedeutet getItem(0)
tatsächlich?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jeder
<svg>
element hat eine createSVGMatrix dom-Methode.Dies ist die Identitätsmatrix.
Können Sie dann manipulieren Sie diese...
oder direkt...
und verwenden Sie dann
getItem(0) bekommt das erste element in einer transform-Attributs z.B.
getItem(0)
bekommt dietranslate(1, 1)
matrix undgetItem(1)
bekommt diescale(2)
matrixWenn Sie nicht setzen eine Transformation auf ein element dann
getItem(0)
werfen. Sie können überprüfen, wie viele Elemente gibt es mitnumberOfItems
und/oder hinzufügen von einem ersten Element mitcreateSVGTransformFromMatrix
schalten Ihre matrix in eine verwandeln undappendItem
Anhängen der Transformation.