Spec-Zone.ru › Web APIs

SVGTransform

Базовая поддержка Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с января 2020 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Интерфейс SVG transform

SVGTransform — это интерфейс для одного из компонентных преобразований внутри SVGTransformList; таким образом, объект SVGTransform соответствует одному компоненту (например, scale(…) или matrix(…)) внутри атрибута transform.

Объект SVGTransform может быть обозначен как только для чтения, что означает, что попытки изменить объект приведут к выбрасыванию исключения.

Обзор интерфейса

Также реализует Нет
Методы
  • void setMatrix(in DOMMatrix matrix)
  • void setTranslate(in float tx, in float ty)
  • void setScale(in float sx, in float sy)
  • void setRotate(in float angle, in float cx, in float cy)
  • void setSkewX(in float angle)
  • void setSkewY(in float angle)
Свойства
  • только для чтения unsigned short type
  • только для чтения float angle
  • только для чтения DOMMatrix matrix
Константы
  • SVG_TRANSFORM_UNKNOWN = 0
  • SVG_TRANSFORM_MATRIX = 1
  • SVG_TRANSFORM_TRANSLATE = 2
  • SVG_TRANSFORM_SCALE = 3
  • SVG_TRANSFORM_ROTATE = 4
  • SVG_TRANSFORM_SKEWX = 5
  • SVG_TRANSFORM_SKEWY = 6
Нормативный документ SVG 1.1 (2-е издание)

Константы

Имя Значение Описание
SVG_TRANSFORM_UNKNOWN 0 Тип единицы не является одним из предопределённых типов единиц. Попытка определить новое значение этого типа или изменить существующее значение на этот тип является недопустимой.
SVG_TRANSFORM_MATRIX 1 Преобразование matrix(…)
SVG_TRANSFORM_TRANSLATE 2 Преобразование translate(…)
SVG_TRANSFORM_SCALE 3 Преобразование scale(…)
SVG_TRANSFORM_ROTATE 4 Преобразование rotate(…)
SVG_TRANSFORM_SKEWX 5 Преобразование skewx(…)
SVG_TRANSFORM_SKEWY 6 Преобразование skewy(…)

Свойства экземпляра

Имя Тип Описание
type unsigned short Тип значения, как указано одной из констант SVG_TRANSFORM_* на этом интерфейсе.
angle float Удобный атрибут для SVG_TRANSFORM_ROTATE, SVG_TRANSFORM_SKEWX и SVG_TRANSFORM_SKEWY. Он хранит угол, который был задан.

Для SVG_TRANSFORM_MATRIX, SVG_TRANSFORM_TRANSLATE и SVG_TRANSFORM_SCALE, angle будет нулём.
matrix DOMMatrix

Матрица, представляющая это преобразование. Объект матрицы динамический, что означает, что любые изменения, внесённые в объект SVGTransform, немедленно отражаются в объекте матрицы и наоборот. В случае если объект матрицы изменяется напрямую (т.е. без использования методов самого интерфейса SVGTransform ), то тип SVGTransform изменяется на SVG_TRANSFORM_MATRIX.

  • Для SVG_TRANSFORM_MATRIX, матрица содержит значения a, b, c, d, e, f, заданные пользователем.
  • Для SVG_TRANSFORM_TRANSLATE, e и f представляют величины смещения (a=1, b=0, c=0 и d=1).
  • Для SVG_TRANSFORM_SCALE, a и d представляют величины масштабирования (b=0, c=0, e=0 и f=0).
  • Для SVG_TRANSFORM_SKEWX и SVG_TRANSFORM_SKEWY, a, b, c и d представляют матрицу, которая приведёт к заданному наклону (e=0 и f=0).
  • Для SVG_TRANSFORM_ROTATE, a, b, c, d, e и f вместе представляют матрицу, которая приведёт к заданному вращению. При вращении вокруг центральной точки (0, 0), e и f будут равны нулю.

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

Имя и аргументы Возвращаемое значение Описание
setMatrix(in DOMMatrix matrix) void

Устанавливает тип преобразования на SVG_TRANSFORM_MATRIX, с параметром матрицы, определяющим новое преобразование. Обратите внимание, что значения из параметра matrix копируются.

Исключения:

  • Исключение DOMException с кодом NO_MODIFICATION_ALLOWED_ERR возникает при попытке изменить атрибут только для чтения или если сам объект является только для чтения.
setTranslate(in float tx, in float ty) void

Устанавливает тип преобразования на SVG_TRANSFORM_TRANSLATE, с параметрами tx и ty определяющими величины смещения.

Исключения:

  • Исключение DOMException с кодом NO_MODIFICATION_ALLOWED_ERR возникает при попытке изменить атрибут только для чтения или если сам объект является только для чтения.
setScale(in float sx, in float sy) void

Устанавливает тип преобразования на SVG_TRANSFORM_SCALE, с параметрами sx и sy определяющими величины масштабирования.

Исключения:

  • Исключение DOMException с кодом NO_MODIFICATION_ALLOWED_ERR возникает при попытке изменить атрибут только для чтения или если сам объект является только для чтения.
setRotate(in float angle, in float cx, in float cy) void

Устанавливает тип преобразования на SVG_TRANSFORM_ROTATE, с параметром angle определяющим угол поворота и параметрами cx и cy определяющим необязательный центр вращения.

Исключения:

  • Исключение DOMException с кодом NO_MODIFICATION_ALLOWED_ERR возникает при попытке изменить атрибут только для чтения или если сам объект является только для чтения.
setSkewX(in float angle) void

Устанавливает тип преобразования на SVG_TRANSFORM_SKEWX, с параметром angle определяющим величину наклона.

Исключения:

  • Исключение DOMException с кодом NO_MODIFICATION_ALLOWED_ERR возникает при попытке изменить атрибут только для чтения или если сам объект является только для чтения.
setSkewY(in float angle) void

Устанавливает тип преобразования на SVG_TRANSFORM_SKEWY, с параметром angle определяющим величину наклона.

Исключения:

  • Исключение DOMException с кодом NO_MODIFICATION_ALLOWED_ERR возникает при попытке изменить атрибут только для чтения или если сам объект является только для чтения.

Спецификации

Спецификация
Scalable Vector Graphics (SVG) 2
# InterfaceSVGTransform

Совместимость браузеров

Настольные Мобильные
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
SVGTransform 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
angle 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
matrix 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
setMatrix 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
setRotate 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
setScale 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
setSkewX 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
setSkewY 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
setTranslate 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37
type 1 12 1.5 ≤12.1 4 18 4 ≤12.1 3.2 1.0 ≤37

© 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/SVGTransform

Spec-Zone.ru

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