# SVGMatrix

この記事はまだボランティアによって 日本語 に翻訳されていません。ぜひ MDN に参加して翻訳を手伝ってください！
この記事を English (US) で読むこともできます。

Deprecated
This feature is no longer recommended. Though some browsers might still support it, it may have already been removed from the relevant web standards, may be in the process of being dropped, or may only be kept for compatibility purposes. Avoid using it, and update existing code if possible; see the compatibility table at the bottom of this page to guide your decision. Be aware that this feature may cease to work at any time.

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.

Warning: SVG 2 replaced the `SVGMatrix` interface by the more general `DOMMatrix` and `DOMMatrixReadOnly` interfaces.

## Properties

`SVGMatrix.a`
A float representing the a component of the matrix.
`SVGMatrix.b`
A float representing the b component of the matrix.
`SVGMatrix.c`
A float representing the c component of the matrix.
`SVGMatrix.d`
A float representing the d component of the matrix.
`SVGMatrix.e`
A float representing the e component of the matrix.
`SVGMatrix.f`
A float representing the f component of the matrix.

## Methods

`SVGMatrix.multiply()`
Performs matrix multiplication. This matrix is post-multiplied by another matrix, returning the resulting new matrix as `SVGMatrix`.
`SVGMatrix.inverse()`
Returns the inverse matrix as `SVGMatrix`.
`SVGMatrix.translate()`
Post-multiplies a translation transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.
`SVGMatrix.scale()`
Post-multiplies a uniform scale transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.
`SVGMatrix.scaleNonUniform()`
Post-multiplies a non-uniform scale transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.
`SVGMatrix.rotate()`
Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.
`SVGMatrix.rotateFromVector()`
Post-multiplies a rotation transformation on the current matrix and returns the resulting matrix as `SVGMatrix`. 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.
`SVGMatrix.flipX()`
Post-multiplies the transformation [-1 0 0 1 0 0] and returns the resulting matrix as `SVGMatrix`.
`SVGMatrix.flipY()`
Post-multiplies the transformation [1 0 0 -1 0 0] and returns the resulting matrix as `SVGMatrix`.
`SVGMatrix.skewX()`
Post-multiplies a skewX transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.
`SVGMatrix.skewY()`
Post-multiplies a skewY transformation on the current matrix and returns the resulting matrix as `SVGMatrix`.

## Exceptions

A `DOMException` with the code `NO_MODIFICATION_ALLOWED_ERR` is raised when attempting updating a read-only attribute or when the object itself is read-only.

## Specifications

Specification Status Comment
Scalable Vector Graphics (SVG) 1.1 (Second Edition)
The definition of 'SVGMatrix' in that specification.
Recommendation Initial definition

## Browser compatibility

Update compatibility data on GitHub
Desktop Mobile Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Chrome Full support Yes Edge Full support Yes Firefox Full support Yes IE Full support 9 Opera Full support Yes Safari Full support Yes WebView Android Full support Yes Chrome Android Full support Yes Firefox Android Full support Yes Opera Android ? Safari iOS ? Samsung Internet Android ?

### Legend

Full support
Full support
Compatibility unknown
Compatibility unknown
Deprecated. Not for use in new websites.
Deprecated. Not for use in new websites.

タグ: