Onze vrijwilligers hebben dit artikel nog niet naar het Nederlands vertaald. Doe mee en help de klus te klaren!
SVG matrix interface
Many of SVG's graphics operations utilize 2x3 matrices of the form:
[a c e] [b d f]
which, when expanded into a 3x3 matrix for the purposes of matrix arithmetic, become:
[a c e] [b d f] [0 0 1]
An SVGMatrix
object can be designated as read only, which means that attempts to modify the object will result in an exception being thrown.
Interface overview
Also implement | None |
---|---|
Methods |
|
Properties |
|
Normative document | SVG 1.1 (2nd Edition) |
Properties
Name | Type | Description |
---|---|---|
a |
float | The a component of the matrix. |
b |
float | The b component of the matrix. |
c |
float | The c component of the matrix. |
d |
float | The d component of the matrix. |
e |
float | The e component of the matrix. |
f |
float | The f component of the matrix. |
a DOMException
with code NO_MODIFICATION_ALLOWED_ERR
is raised when attempting updating a read only attribute or when the object itself is read only.
Methods
Name & Arguments | Return | Description |
---|---|---|
multiply(in |
SVGMatrix |
Performs matrix multiplication. This matrix is post-multiplied by another matrix, returning the resulting new matrix. |
inverse() |
SVGMatrix |
Return the inverse matrix Exceptions:
|
translate(in float x, in float y) |
SVGMatrix |
Post-multiplies a translation transformation on the current matrix and returns the resulting matrix.
|
scale(in float scaleFactor) |
SVGMatrix |
Post-multiplies a uniform scale transformation on the current matrix and returns the resulting matrix.
|
scaleNonUniform(in float scaleFactorX, in float scaleFactorY) |
SVGMatrix |
Post-multiplies a non-uniform scale transformation on the current matrix and returns the resulting matrix.
|
rotate(in float angle) |
SVGMatrix |
Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix. (angle is measures in degrees.)
|
rotateFromVector(in float x, in float y) |
SVGMatrix |
Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix. The rotation angle is determined by taking (+/-) atan(y/x). The direction of the vector (x, y) determines whether the positive or negative angle value is used. Exceptions:
|
flipX() |
SVGMatrix |
Post-multiplies the transformation [-1 0 0 1 0 0] and returns the resulting matrix.
|
flipY() |
SVGMatrix |
Post-multiplies the transformation [1 0 0 -1 0 0] and returns the resulting matrix.
|
skewX(in float angle) |
SVGMatrix |
Post-multiplies a skewX transformation on the current matrix and returns the resulting matrix.
|
skewY(in float angle) |
SVGMatrix |
Post-multiplies a skewY transformation on the current matrix and returns the resulting matrix.
|
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | ? | ? | 9 | ? | ? |
Feature | Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|
Basic support | ? | ? | ? | ? | ? |