Desenhando um SVG modificado para uma tela
Eu quero carregar uma imagem SVG, fazer algumas manipulações para o seu.contentDocument
e desenhe em uma tela.
Um bom exemplo para desenhar um SVG em uma tela é aqui:http://www.phrogz.net/tmp/canvas_from_svg.html
Mas neste exemplo o SVG foi criado como umnew Image('url.svg')
objeto. Quando você cria um SVG dessa forma, infelizmente não parece ter um contentDocument para manipular. Parece apenas ter um quando você o cria como um<object>
elemento.
Mas quando eu crio o SVG como um objeto, pegue o nó DOM do SVG e passe-o paracontext.drawImage(svgNode, x, y)
, lança o erro"Value could not be converted to any of: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement."
(no Firefox).
Parece que eu tenho que encontrar uma maneira de converter um objeto-SVG em um HTMLImageElement ou uma maneira de obter o documento de conteúdo de um SVG que foi carregado como uma imagem. Alguém sabe como fazer isso? Ou há uma terceira maneira de fazer isso que estou perdendo?