Javascript 如何将D3.js可视化渲染为JPG或图像?

Javascript 如何将D3.js可视化渲染为JPG或图像?,javascript,d3.js,svg,Javascript,D3.js,Svg,我使用ASP.NET4.5、C#和D3.js构建了一个界面,在这里我绘制了人体的器官和骨骼。问题是,当我尝试打印时,它几乎无法正确打印,我的用户希望在可视化旁边有一个“保存图像”按钮,以便他们可以将保存的图像导入到自己的Word/PowerPoint月末报告中 我不确定是否需要发布我的代码。我正在加载Illustrator中跟踪的一些SVG,将其保存在JSON文件中并加载到D3中 我知道打印屏幕可能是一个选项,但另存为图像也可以帮助我显示多个文件,而不必使用D3代码使浏览器过载。基本上D3.js

我使用ASP.NET4.5、C#和D3.js构建了一个界面,在这里我绘制了人体的器官和骨骼。问题是,当我尝试打印时,它几乎无法正确打印,我的用户希望在可视化旁边有一个“保存图像”按钮,以便他们可以将保存的图像导入到自己的Word/PowerPoint月末报告中

我不确定是否需要发布我的代码。我正在加载Illustrator中跟踪的一些SVG,将其保存在JSON文件中并加载到D3中


我知道打印屏幕可能是一个选项,但另存为图像也可以帮助我显示多个文件,而不必使用D3代码使浏览器过载。

基本上D3.js与SVG一起工作。您可以直接从d3.js工作目录下载
.svg
图像

这是一个例子(来自mikebostock,d3.js的创建者),他一步一步地从SVG转换到PNG

他使用了一些技巧,包括XML序列化、Blob对象(类似于原始数据的文件对象()),最后使用
canvas.toDataURL()
从SVG创建另一个PNG图像。请看源代码,了解差异是非常有趣和有用的

希望能有帮助


pltrdy

搜索
canvas.toDataURL()
噢,哇,我不知道有这个存在!谢谢Gusman我会读到这篇文章并尝试一下谢谢!就像上面提到的Gusman一样,canvas.toDataURL()是我不知道的东西,我用了错误的方法搜索,也就是说,我试图搜索如何截图网页的某些区域并将其保存到剪贴板等。但我很高兴现在有更好的方法。