我使用Raphaël(一个 JavaScript 库)完成了一些漂亮的图形,我想添加一个功能将其保存为PNG文件。
这在除 Internet Explorer 之外的所有浏览器上都很简单,因为在非 Internet Explorer 浏览器上,我将SVG作为 Raphaël 的输出,然后我可以将其转换为画布(使用 cansvg 库),并且画布有一个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 下完成这个任务呢?