javascript - 将 svg 元素转换为图像

标签 javascript html image svg export

我有一个 html svg 元素(不是 canvas),并且必须将内容保存到图像文件(png 或 jpg)。

有什么解决办法吗?

canvas.toDataURL() 不起作用,因为它是一个 svg 元素。

示例:

<svg:svg id ="svg">
         <svg:svg width="{width}" height="{height}">
            <svg:circle cx="{cx}" cy="{cy}" r="{radius}" id="circ" fill="white" stroke="black" stroke-width="2" />
            <svg:text x="{tposW}" y="30" line="0" text-anchor="middle">{VORNAME}</svg:text>
            <svg:text x="{tposW}" y="44" line="1" text-anchor="middle">{NAME}</svg:text>
            <svg:text x="{tposW}" y="58" line="2" text-anchor="middle">{GEB}</svg:text>
        </svg:svg>
</svg:svg>

请仅发布解决方案,而不使用 jQuery。

最佳答案

使用canvg JavaScript库通过Canvas渲染SVG图像: http://code.google.com/p/canvg/

然后使用canvas.toDataURL()

关于javascript - 将 svg 元素转换为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22803659/

相关文章:

javascript - 滚动到页面加载的特定区域并执行 Ajax 查询

javascript - 检索 cookie 以设置背景图像

html - 图片未出现在 Google Chrome 中

c# - Graphics.DrawImage 对于更大的图像是否太慢?

javascript - 将 JSON 对象附加到同一对象

javascript - 避免在单击链接时插入换行符

javascript - jQuery的slideUp、slideDown、animate函数有什么替代品吗?

javascript - startsWith() 检查不同的字母或字符串

javascript - js 文件连接到我的 html 时出现问题

html - 文本缩进 - 在 Safari 中不显示文本