【发布时间】:2013-04-05 13:45:17
【问题描述】:
我是 Raphaël 和 javascript 的新手,遇到了一个问题,即如何使用 Javascript 将 svg(在 div 中)保存为 png。我读过可能的文章:比如使用canvg https://code.google.com/p/canvg/ 和canvas.toDataURL('image/png'); ..etc 但仍然不知道该怎么做。
我正在尝试在客户端将 qrcodesvg.js 输出 (http://vp-dev.net/qrcodesvg/) 转换为一些可下载/可读的 png/图像格式。有人可以给我一些提示,看看哪些或哪些基本参考资料?谢谢!
亲切的问候,
【问题讨论】:
-
谢谢你,罗伯特。但是我在发布这篇文章之前阅读了那篇文章(不能发布超过 2 个链接)。好的,我使用 Opera Dragonfly 找到了隐藏的 Html SVG 标签:
<div id="qrcode"> <svg height="250" version="1.1" width="250" xmlns="http://www.w3.org/2000/svg" style="overflow:hidden;position:relative">我注意到 SVG 嵌套在 qrcode div 下,这是我无法获取 id 为 qrcode 的 SVG 的主要问题! -
好的,更新如下:只需使用 getElementsByTagName
document.getElementsByTagName('svg')[0].id = 'id_something';并设置带有 id 的 svg 标签,然后使用canvg(canvas, svg);和var img_url = canvas.toDataURL('image/png');您将获得所需的 png 文件。我做对了吗?谢谢,