我一直在寻找 Jqplot 图像转换,我找到了这个
通过 Google 的 excanvas.js 库支持 IE 6 – 8,如下链接
但我仍然面临同样的问题。我无法在 IE7 中将 jqplot 转换为图像
任何人都可以展示一些工作示例吗?
已更新
使用 excanvas 我可以渲染图表,但我想将其作为图像。我只能将图表转换(导出)为 chrome、FF 和 IE 10 中的图像,但不能在 IE<9 中。有什么办法可以做到这一点。你能帮我吗?
<div id="chart1" style="margin-top:20px; margin-left:20px; width:600px; height:300px;"></div>
<div id="imgChart1"></div>
已更新
我已经放置了我的 fiddle
http://jsfiddle.net/sornalingam/uGWnL/155/
请帮助我
最佳答案
问题是 excanvas
不支持 ImageData 函数,因此您无法像使用 native canvas
那样获取图像日期.
据我所知,唯一支持此功能的 Canvas 填充是 FlashCanvas Pro 。
但我也不能告诉你它是否适用于 jqplot
我也无法告诉你它是否表现良好,因为我从未使用过它。
编辑
根据您编辑的问题:
有了这个:var imgElem = $('<img/>').attr('src',imgData);
您设置了一个数据网址。
但数据 url 不支持 IE 7 及更早版本,对于 IE 8,数据 url 限制为 32 KB
如果您使用 jqplot 创建更大的图像,这很可能会出现问题。
编辑
根据评论,客户端应该能够下载图像:
如果 - 正如我所说,我不知道 - FlashCanvas 的 Pro 版本可以创建可靠的数据 url。你可以考虑做一个 POST
(这是必需的,因为 GET
请求的大小也受到限制)该数据 url 到您的服务器。在服务器上,您可以根据该数据创建图像,存储它并将 URL 提交到该临时图像作为帖子的响应。然后您可以使用该图像的 url。这肯定不是最佳解决方案,但至少是一种解决方法,直到您找到更好的解决方案。
要发布数据,您可以使用 jquery.post
并返回 json
带有临时图像 URL 的格式化响应。
与 modernizr.com您可以检查浏览器是否支持 dataurl
并且仅在不支持时才执行此后备操作。对于 IE 8
您可能需要做进一步的检查。
关于javascript - jqplot 到图像在 IE7 上不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18721405/