Kann man mit Raphael ein eingebettetes SVG-Bild manipulieren? Ich habe Raffael in der Vergangenheit benutzt, um Formen zu zeichnen, habe aber nicht gesehen, dass es benutzt wird, um ein existierendes SVG-Bild zu manipulieren. Wenn nicht, gibt es sonst noch etwas, das es mir erlaubt, Farben, Polygone eines eingebetteten SVG-Bildes, Ereignisse usw. zu ändern?
Aus meiner Erfahrung beim Lesen der Raphael.js
Quelle muss ich den vorherigen Posts zustimmen. Die einzige Möglichkeit, das SVG zu ersetzen oder zu ändern, besteht darin, das Markup / DOM selbst zu ersetzen / zu modifizieren.
Alles, was ich in meiner Antwort hinzufügen möchte, ist eine kurze allgemeine Erklärung von warum das so ist. Raphael ist als SVG / VML Generator konzipiert. Das heißt, Raphael erstellt JavaScript-Objekte und hängt ihr entsprechendes SVG / VML-Markup an das DOM an, wenn sie erstellt werden. Die Objekte haben viele zusätzliche Eigenschaften, die sie innerhalb des Raphael-Frameworks arbeiten lassen.
Es kann möglich sein, ein Plugin zu schreiben, das ein Raphael-Objekt um ein SVG-Element bauen kann, indem man seine Eigenschaften liest, aber ich vermute, dass ein solches Objekt nicht alle Informationen hat, die es braucht, um mit den anderen Raphael-Objekten zu koexistieren. Sicherlich gibt es keine solche Parsing / Rekonstruktionsfunktionalität.
Lustig, gestern fand ich die glitchsvgicons Seite, die das macht.
Obwohl auf eine sehr primitive Art und Weise nur ein Regex-Ersatz von Teilen verwendet wird.
Es kann jedoch ein Hinweis sein: scheinbar können Sie gute alte Suche / Ersetzen von Textteilen auf SVG-Icons verwenden. Aber es ist anfälliger für Probleme als mit einem echten Dom Baum ...
Tags und Links javascript svg raphael