Spec-Zone.ru › Web APIs

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 эквивалент
a m11
b m12
c m21
d m22
e m41
f m42

Методы экземпляра

Этот интерфейс не наследует никаких методов. Ни один из следующих методов не изменяет исходную матрицу.

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 for scale(). 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 for scale(). 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, the sx 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, the sx 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, the sy 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, the sy 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(), которые могут быть сгенерированы из этого интерфейса для использования в CSS transform.

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API