mozilla
Your Search Results

    SVGMatrix

    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
    • float a
    • float b
    • float c
    • float d
    • float e
    • float f
    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 secondMatrix) SVGMatrix Performs matrix multiplication. This matrix is post-multiplied by another matrix, returning the resulting new matrix.
    inverse() SVGMatrix

    Return the inverse matrix

    Exceptions:

    • a DOMException with code SVG_MATRIX_NOT_INVERTABLE is raised if the matrix is not invertable.
    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:

    • a DOMException with code SVG_INVALID_VALUE_ERR is raised if one of the parameters has an invalid value.
    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 ? ? ? ? ?

     

    Document Tags and Contributors

    Contributors to this page: Sheppy, fscholz, Jeremie, Yukoba, jhartz, kscarfone
    Last updated by: fscholz,