SVG-анимация

редактировать
Масштабируемый Векторная графика
  • v
  • t

Анимация Scalable Vector Graphics, открытого формата XML, стандартного векторной графики, возможна различными способами:

Библиотеки также были написаны как прокладка, чтобы обеспечить поддержку SMIL в текущих браузерах с поддержкой SVG. Этот метод также известен как SVG + Time.

Поскольку SVG поддерживает растровые изображения Portable Network Graphics (PNG) и JPEG, его можно использовать для анимации таких изображений. в качестве альтернативы APNG и Сетевая графика с несколькими изображениями (MNG).

Содержание
  • 1 История
  • 2 Примеры
    • 2.1 Анимация SVG с использованием SMIL
    • 2.2 Анимация SVG с использованием CSS
    • 2.3 Анимация SVG с использованием ECMAScript
  • 3 Атрибуты SMIL для идентификации целевого атрибута
  • 4 Библиотеки
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки
История

Элементы анимации SVG были разработаны в сотрудничестве с World Wide Web Consortium (W3C) Synchronized Multimedia Working Group, разработчики языка Synchronized Multimedia Integration Language, первая версия которого была опубликована в 1999 году. 4 сентября 2001 года SVG 1.0 стал Рекомендацией W3C. веб-браузеры добавили поддержку SVG-анимации в течение 2000-х годов, в том числе уже в 2003 году, но SVG-анимация поддерживалась только широко используемыми браузерами, начиная с 2010-х годов, в частности Firefox 4 (2011). Internet Explorer поддерживает анимацию ECMAScript, а его преемник Microsoft Edge поддерживает анимацию ECMAScript и CSS начиная с версии 42.17134.

Рабочая группа SYMM в сотрудничестве с рабочей группой SVG разработала спецификацию SMIL Animation, которая представляет собой универсальный набор функций анимации XML. SVG включает в себя функции анимации, определенные в спецификации SMIL Animation, и предоставляет некоторые специфичные для SVG расширения.

Примеры

Следующие ниже фрагменты кода демонстрируют три метода создания анимированного SVG в совместимых браузерах. Соответствующие части выделены желтым.

Анимация SVG с использованием SMIL

Анимация SVG с использованием SMIL.svg Об этом изображении
1 2 4 Анимация SVG с использованием SMIL5 6 1516

Анимация SVG с использованием CSS

Анимация SVG с использованием CSS.svg Об этом изображении
1 2 4 Анимация SVG с использованием CSS5 10 12

Анимация SVG с использованием ECMAScript

Ampel.svg Об этом изображении
1 2 4 Анимация SVG с использованием ECMAScript5 16 18

Хотя приведенный выше пример работает, это не оптимальная реализация, анимация ограничена 50 кадрами в секунду (FPS). Использование requestAnimationFrameобеспечивает лучшую производительность и может достигать 60 кадров в секунду:

1 2 4 SVG-анимация с использованием объекта requestAnimationFrame ()5 20 21
Атрибуты SMIL для идентификации целевого атрибута

Ниже приведены атрибуты анимации, которые идентифицируют целевой атрибут для данного целевого элемента, значение которого изменяется с течением времени. attributeName = ""указывает имя целевого атрибута. Префикс XMLNS может использоваться для указания пространства имен XML для атрибута. Префикс будет интерпретирован в рамках текущего элемента анимации.

attributeType = "CSS | XML | auto"указывает пространство имен, в котором определены целевой атрибут и связанные с ним значения. CSSуказывает, что значение «attributeName» - это имя свойства CSS, определенного в данной спецификации как анимируемое. XMLуказывает, что значение «attributeName» - это имя атрибута XML, определенного в пространстве имен XML по умолчанию для целевого элемента. В этой спецификации атрибут должен быть определен как анимируемый. автоЗначение по умолчанию - «авто». Реализация должна соответствовать «имени атрибута» атрибуту целевого элемента. Реализация должна сначала выполнить поиск в списке свойств CSS для соответствующего имени свойства, а если ничего не найдено, выполнить поиск элемента в пространстве имен XML по умолчанию.

Программное обеспечение wiki MediaWiki автоматически генерирует статические, неанимированные эскизы изображений SVG. Просмотр фактического изображения.svg с каждой соответствующей страницы описания покажет его анимацию в совместимом браузере.

Библиотеки

Есть несколько библиотек JavaScript для работы с SVG-анимацией. Преимущество использования таких библиотек состоит в том, что эти библиотеки часто решают проблемы несовместимости в браузерах с помощью абстракции . Примеры библиотек включают Raphaël и Velocity.js

См. Также
На Викискладе есть медиафайлы, связанные с SVG-анимацией.
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-06 05:15:54
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте