DOMMatrixReadOnly
Базовая поддержка Широко доступна
Данная функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с января 2020 года.
Примечание: Эта функция доступна в Web Workers.
Интерфейс DOMMatrixReadOnly представляет собой матрицу 4×4 с чтением только для доступа, подходящую для операций в 2D и 3D. Интерфейс DOMMatrix, основанный на DOMMatrixReadOnly, добавляет изменяемость, позволяя изменять матрицу после её создания.
Этот интерфейс должен быть доступен внутри веб-воркеров, хотя некоторые реализации пока этого не поддерживают.
Конструктор
DOMMatrixReadOnly()-
Создаёт новый объект
DOMMatrixReadOnly.
Свойства экземпляра
Этот интерфейс не наследует никаких свойств.
-
DOMMatrixReadOnly.is2DТолько для чтения -
Флаг Boolean, значение которого равно
true, если матрица была инициализирована как 2D-матрица. Еслиfalse, матрица является 3D. -
DOMMatrixReadOnly.isIdentityТолько для чтения -
Boolean, значение которого равно
true, если матрица является единичной матрицей. m11,m12,m13,m14,m21,m22,m23,m24,m31,m32,m33,m34,m41,m42,m43,m44-
Значения с плавающей точкой двойной точности, представляющие каждый компонент матрицы 4×4, где
m11поm14— первый столбец,m21поm24— второй столбец и так далее. a,b,c,d,e,f-
Значения с плавающей точкой двойной точности, представляющие компоненты матрицы 4×4, необходимые для выполнения 2D-вращений и перемещений. Это псевдонимы для определённых компонентов матрицы 4×4, как показано ниже.
2D 3D эквивалент am11bm12cm21dm22em41fm42
Методы экземпляра
Этот интерфейс не наследует никаких методов. Ни один из следующих методов не изменяет исходную матрицу.
DOMMatrixReadOnly.flipX()-
Возвращает новый
DOMMatrix, созданный путём отражения исходной матрицы относительно оси X. Это эквивалентно умножению матрицы наDOMMatrix(-1, 0, 0, 1, 0, 0). Исходная матрица не изменяется. DOMMatrixReadOnly.flipY()-
Возвращает новый
DOMMatrix, созданный путём отражения исходной матрицы относительно оси Y. Это эквивалентно умножению матрицы наDOMMatrix(1, 0, 0, -1, 0, 0). Исходная матрица не изменяется. DOMMatrixReadOnly.inverse()-
Возвращает новый
DOMMatrix, созданный путём обращения исходной матрицы. Исходная матрица не изменяется. DOMMatrixReadOnly.multiply()-
Возвращает новый
DOMMatrix, созданный путём вычисления скалярного произведения исходной матрицы и указанной матрицы. Исходная матрица не DOMMatrixReadOnly.rotateAxisAngle()-
Возвращает новый
DOMMatrix, созданный путём поворота исходной матрицы на заданный угол вокруг указанного вектора. Исходная матрица не изменяется. DOMMatrixReadOnly.rotate()-
Возвращает новый
DOMMatrix, созданный путём поворота исходной матрицы вокруг каждой из её осей на указанное число градусов. Исходная матрица не изменяется. DOMMatrixReadOnly.rotateFromVector()-
Возвращает новый
DOMMatrix, созданный путём поворота исходной матрицы на угол между указанным вектором и(1, 0). Исходная матрица не изменяется. DOMMatrixReadOnly.scale()-
Возвращает новый
DOMMatrix, созданный путём масштабирования исходной матрицы на указанный коэффициент для каждой оси, с центром в заданной точке начала координат. По умолчанию оси X и Z масштабируются на1, а ось Y не имеет значения масштабирования по умолчанию. Точка начала координат по умолчанию —(0, 0, 0). Исходная матрица не изменяется. DOMMatrixReadOnly.scale3d()-
Возвращает новый
DOMMatrix, созданный путём масштабирования исходной 3D-матрицы на заданный множитель по всем её осям, с центром в указанной точке начала координат. Точка начала координат по умолчанию —(0, 0, 0). Исходная матрица не изменяется. -
DOMMatrixReadOnly.scaleNonUniform()Устаревший -
Возвращает новый
DOMMatrix, созданный путём применения указанного масштабирования по осям X, Y и Z, с центром в заданной точке начала координат. По умолчанию коэффициенты масштабирования по осям Y и Z равны1, но коэффициент масштабирования по оси X должен быть указан. Точка начала координат по умолчанию —(0, 0, 0). Исходная матрица не изменяется. DOMMatrixReadOnly.skewX()-
Возвращает новый
DOMMatrix, созданный путём применения указанного искажения к исходной матрице по оси X. Исходная матрица не изменяется. DOMMatrixReadOnly.skewY()-
Возвращает новый
DOMMatrix, созданный путём применения указанного искажения к исходной матрице по оси Y. Исходная матрица не изменяется. DOMMatrixReadOnly.toFloat32Array()-
Возвращает новый
Float32Arrayс числами с плавающей точкой одинарной точности, содержащими все 16 элементов, составляющих матрицу. DOMMatrixReadOnly.toFloat64Array()-
Возвращает новый
Float64Arrayс числами с плавающей точкой двойной точности, содержащими все 16 элементов, составляющих матрицу. DOMMatrixReadOnly.toJSON()-
Возвращает JSON-представление объекта
DOMMatrixReadOnly. DOMMatrixReadOnly.toString()-
Создаёт и возвращает строковое представление матрицы в синтаксисе CSS matrix, используя соответствующий синтаксис CSS matrix.
DOMMatrixReadOnly.transformPoint()-
Преобразует указанную точку с помощью матрицы, возвращая новый объект
DOMPoint, содержащий преобразованную точку. Ни матрица, ни исходная точка не изменяются. DOMMatrixReadOnly.translate()-
Возвращает новый
DOMMatrix, содержащий матрицу, вычисленную путём перемещения исходной матрицы с помощью указанного вектора. По умолчанию, вектор равен(0, 0, 0). Исходная матрица не изменяется.
Статические методы
fromFloat32Array()-
Создаёт новый изменяемый
DOMMatrixобъект на основе массива значений с плавающей точкой одинарной точности (32 бита). Если массив содержит шесть значений, результатом будет матрица 2D; если 16 значений — матрица 3D. В противном случае выбрасывается исключениеTypeError. fromFloat64Array()-
Создаёт новый изменяемый
DOMMatrixобъект на основе массива значений с плавающей точкой двойной точности (64 бита). Если массив содержит шесть значений, результатом будет матрица 2D; если 16 значений — матрица 3D. В противном случае выбрасывается исключениеTypeError. fromMatrix()-
Создаёт новый изменяемый
DOMMatrixобъект на основе существующей матрицы или объекта, предоставляющего значения для её свойств. Если матрица не указана, матрица инициализируется всеми элементами, установленными в0кроме правого нижнего угла и элемента, расположенного непосредственно над ним и слева:m33иm34. У этих элементов значение по умолчанию —1.
Спецификации
| Спецификация |
|---|
| Модуль интерфейсов Geometry Уровень 1 # DOMMatrix |
Совместимость с браузерами
| Настольный | Мобильный | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | |
DOMMatrixReadOnly |
61 | 79 | 62 | 48 | 11 | 61 | 62 | 45 | 11 | 8.0 | 61 |
DOMMatrixReadOnly |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
a |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
b |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
c |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
d |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
e |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
f |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
flipX |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
flipY |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
fromFloat32Array_static |
61 | 79 | 69 | 48 | 11 | 61 | 79 | 45 | 11 | 8.0 | 61 |
fromFloat64Array_static |
61 | 79 | 69 | 48 | 11 | 61 | 79 | 45 | 11 | 8.0 | 61 |
fromMatrix_static |
61 | 79 | 69 | 48 | 11 | 61 | 79 | 45 | 11 | 8.0 | 61 |
inverse |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
is2D |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
isIdentity |
61 | 79 | 59 | 48 | 11 | 61 | 59 | 45 | 11 | 8.0 | 61 |
m11 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m12 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m13 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m14 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m21 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m22 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m23 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m24 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m31 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m32 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m33 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
|---|---|---|---|---|---|---|---|---|---|---|---|
m34 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m41 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m42 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m43 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
m44 |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
multiply |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
rotate |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
rotateAxisAngle |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
rotateFromVector |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
scale |
61 | 79 | 33Firefox 69 introduced support for the modern six-parameter syntax forscale(). Previously, it only supported the older three-parameter syntax: scale(scaleX[, originX][, originY]]]). |
48 | 11 | 61 | 33Firefox for Android 79 introduced support for the modern six-parameter syntax forscale(). Previously, it only supported the older three-parameter syntax: scale(scaleX[, originX][, originY]]]). |
45 | 11 | 8.0 | 61 |
scale3d |
61 | 79 | 33Starting in Firefox 69, the first parameter (scale) is now optional with a default value of 1, per the specification. Previously it was required. |
48 | 11 | 61 | 33Starting in Firefox for Android 79, the first parameter (scale) is now optional with a default value of 1, per the specification. Previously it was required. |
45 | 11 | 8.0 | 61 |
scaleNonUniform |
73 | 79 | 33 | 60 | 17.4 | 73 | 33 | 52 | 17.4 | 11.0 | 73 |
skewX |
61 | 79 | 33Before Firefox 69, thesx parameter was required; you may now call skewX() with no inputs. A value of 0 is correctly assumed. |
48 | 11 | 61 | 33Before Firefox for Android 79, thesx parameter was required; you may now call skewX() with no inputs. A value of 0 is correctly assumed. |
45 | 11 | 8.0 | 61 |
skewY |
61 | 79 | 33Before Firefox 69, thesy parameter was required; you may now call skewY() with no inputs. A value of 0 is correctly assumed. |
48 | 11 | 61 | 33Before Firefox for Android 79, thesy parameter was required; you may now call skewY() with no inputs. A value of 0 is correctly assumed. |
45 | 11 | 8.0 | 61 |
toFloat32Array |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
toFloat64Array |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
toJSON |
61 | 79 | 62 | 48 | 11 | 61 | 62 | 45 | 11 | 8.0 | 61 |
toString |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
transformPoint |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
translate |
61 | 79 | 33 | 48 | 11 | 61 | 33 | 45 | 11 | 8.0 | 61 |
worker_support |
61 | 79 | 69 | 48 | 11 | 61 | 79 | 45 | 11 | 8.0 | 61 |
См. также
- Тип изменяемой матрицы,
DOMMatrix, которая основана на этой. - CSS-функциональное обозначение
matrix()иmatrix3d(), которые могут быть сгенерированы из этого интерфейса для использования в CSStransform.
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/DOMMatrixReadOnly