我想加载一个 SVG 图像,对其进行一些操作.contentDocument
,然后将其绘制到画布上。
将 SVG 绘制到画布上的一个很好的例子是:http ://www.phrogz.net/tmp/canvas_from_svg.html
但是在这个例子中,svg 被创建为一个new Image('url.svg')
对象。当您以这种方式创建 SVG 时,不幸的是,它似乎没有要操作的 contentDocument。<object>
当您将其创建为元素时,它似乎只有一个。
但是当我将 SVG 创建为对象时,获取 SVG 的 DOM 节点并将其传递给context.drawImage(svgNode, x, y)
,它会引发错误"Value could not be converted to any of: HTMLImageElement, HTMLCanvasElement, HTMLVideoElement."
(在 Firefox 上)。
似乎我要么必须找到一种将对象 SVG 转换为 HTMLImageElement 的方法,要么必须找到一种方法来获取作为图像加载的 SVG 的内容文档。有谁知道该怎么做?或者有没有我想念的第三种方法?