在Internet Explorer上将Raphaël图像保存为PNG

mno*_*tka 11 javascript vml canvas raphael

我使用Raphaël(一个JavaScript库)完成了一些漂亮的图形,我想添加一个功能来将其保存为PNG文件.

这在除Internet Explorer之外的每个浏览器上都很简单,因为在非Internet Explorer浏览器上我将SVG作为Raphaël的输出,然后我可以将其转换为canvas(使用cansvg库)并且canvas有一个toDataURL()方法.但在Internet Explorer上,Raphaël输出VML.我无法使用Chrome框架插件.为什么?

我的应用程序的用户选择Internet Explorer只是因为它预装在Windows上,并且他们无权安装任何其他内容.所以他们无法安装这个插件.所以我的第二个想法是在Internet Explorer上获取一个SVG字符串,将其传递给cansvg以获取画布然后使用flashCanvas.

我试图欺骗Raphaël认为它在非Internet Explorer浏览器上运行并获得SVG作为输出,但我失败了,因为Raphaël使用了一些在Internet Explorer中不存在的JavaScript函数来生成SVG.

那么如何在Internet Explorer下完成此任务?

Tim*_*sen 0

您可能想研究在服务器端生成图像。浏览器对生成图形的支持仍然相当有限。

Node Canvas刚刚问世,我过去使用过 ImageMagick,并取得了巨大成功。