Используйте Рафаэля, чтобы манипулировать SVG - PullRequest
9 голосов
/ 03 июля 2010

Можно ли использовать Рафаэля для манипулирования внедренным SVG-изображением?В прошлом я использовал Рафаэля для рисования фигур, но на самом деле не видел, чтобы он использовался для манипулирования существующим SVG-изображением.Если нет, есть ли что-нибудь еще, что позволяет мне легко изменять цвета, добавлять события и т. Д. В полигоны внедренного изображения SVG?

Ответы [ 2 ]

4 голосов
/ 30 мая 2011

Из моего опыта чтения источника Raphael.js я согласен с предыдущими постами.Единственный способ заменить SVG или изменить SVG - заменить / изменить саму разметку / DOM.

Все, что я хочу добавить в своем ответе, это краткое общее объяснение почему это так.Рафаэль разработан как генератор SVG / VML .То есть, Рафаэль создает объекты JavaScript и добавляет соответствующую разметку SVG / VML в DOM по мере их создания.У объектов есть много дополнительных свойств, которые заставляют их работать в рамках Raphael.

Возможно, можно написать плагин, который может создавать объект Raphael вокруг элемента SVG, читая его свойства, но я подозреваю,такой объект может не обладать всей информацией, необходимой ему для сосуществования с другими объектами Рафаэля.Конечно, в настоящее время не существует такой функциональности синтаксического анализа / восстановления.

0 голосов
/ 03 июля 2010

Забавно, вчера я нашел страницу glitchsvgicons , делающую это.
Хотя в очень примитивном смысле, просто с помощью регулярных выражений заменить части.
Это может быть подсказка: очевидно, вы можете использовать старый добрый поиск / замену текстовых частей на иконках SVG. Но это более подвержено проблемам, чем использование реального дерева Dom ...

...