Rysowanie zmodyfikowanego pliku SVG na płótnie

Chcę załadować obraz SVG, wykonać kilka manipulacji.contentDocument, a następnie narysuj go na płótnie.

Dobrym przykładem rysowania SVG na płótnie jest tutaj:http://www.phrogz.net/tmp/canvas_from_svg.html

Ale w tym przykładzie svg został stworzony jakonew Image('url.svg') obiekt. Kiedy tworzysz SVG w ten sposób, wydaje się, że nie ma on zawartości contentDocument do manipulowania. Wydaje się, że ma go tylko wtedy, gdy tworzysz go jako<object> element.

Ale kiedy tworzę SVG jako obiekt, pobierz węzeł DOM SVG i przekaż go docontext.drawImage(svgNode, x, y), rzuca błąd"Value could not be converted to any of: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement." (w Firefoksie).

Wydaje się, że albo muszę znaleźć sposób na konwersję obiektu-SVG na HTMLImageElement, albo sposób na pobranie dokumentu zawartości SVG, który został załadowany jako obraz. Czy ktokolwiek wie, jak to zrobić? Czy jest trzeci sposób, aby to zrobić, którego mi brakuje?

questionAnswers(2)

yourAnswerToTheQuestion