获取在客户机上用javascript创建的图像(如svg),返回服务器端进行c#

获取在客户机上用javascript创建的图像(如svg),返回服务器端进行c#,javascript,wcf,json,jsonp,highcharts,Javascript,Wcf,Json,Jsonp,Highcharts,我正在考虑使用一个很好的Javascript图表库,比如highcharts(www.highcharts.com)或D3(http://mbostock.github.com/d3/). 它们生成SVG或类似类型的展示 对于浏览器来说,这一切都很好,但我想给人们发一封“摘要”电子邮件,其中嵌入了一些图表。目前,我使用一个c#控制台应用程序生成HTML,嵌入图像(这些图像要么从文件系统中提取,要么由中的服务器端图表控件渲染到内存中) 我的问题是,为了避免在服务器端和客户端都重新创建每个图表,我

我正在考虑使用一个很好的Javascript图表库,比如highcharts(www.highcharts.com)或D3(http://mbostock.github.com/d3/). 它们生成SVG或类似类型的展示

对于浏览器来说,这一切都很好,但我想给人们发一封“摘要”电子邮件,其中嵌入了一些图表。目前,我使用一个c#控制台应用程序生成HTML,嵌入图像(这些图像要么从文件系统中提取,要么由中的服务器端图表控件渲染到内存中)

我的问题是,为了避免在服务器端和客户端都重新创建每个图表,我如何将“客户端渲染”的图像返回到我的c#codebehind中以附加到电子邮件?这有可能吗?我需要JSON吗

谢谢

我认为这会有帮助:


这是用于HighCharts的ASP.NET导出模块。它将客户端SVG字符串作为参数,并生成JPEG/PNG和其他一些类型的图像。我想这会给你一个想法。

理论上,你应该能够使用
drawImage()
将SVG图像绘制到
元素,然后使用
canvas.toDataURL()
将结果导出到PNG。不幸的是,除非SVG映像驻留在您的服务器上,否则这无法工作-如果您在客户端生成映像并使用
数据:
URL,您会收到一个安全错误,就像您试图从另一个域读取映像一样。谢谢,我不知道存在此错误!