0

我可以使用 jqplot 创建/绘制图表。当我右键单击它并将其另存为 PNG 时,它正在保存一个空白图像。这是图像数据:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbkAAAEeCAYAAAAXTWt+AAACAElEQVR4nO3BMQEAAADCoPVPbQ0PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ4MtD8AAaRK8nUAAAAASUVORK5CYII=

谁能让我知道这个图像数据是好的,我可以保存它吗?

太感谢了!

-帕拉梅什瓦尔

4

2 回答 2

0

我从图表中渲染图像没有任何问题......

    var imgData = $('#chart').jqplotToImageStr({});

然后我将 imgData var(包含 base64 图像)发送到 php 页面,以便直接下载它。我只想显示该图像,您只需将该 var 添加到图像标记的 src 属性中(或将其作为弹出窗口打开,将 var 作为窗口的 href 属性)

    window.open(imgData,"_blank","scrollbars=0");

无论如何,如果您将该 base64 代码传递给 php 页面,您可以使用该代码(和适当的标头)下载它:

    $data = $_POST['data']; //your base64 code
    $data = substr($data,22); //remove some unuseful chars
    $img=base64_decode($data); //decode data
    $out = "../tmp/report_".date("d-m-Y_His").".png"; //set output image location 
    file_put_contents($out, $img); //create file
    echo $out; //let user direct download it
于 2014-01-04T17:28:39.150 回答
0

jqPlot 可以使用函数jqplotToImageStr()将其图表转换为图像 您必须运行 JavaScript 才能将动态图表转换为可保存的图像。

在这里查看答案: JqPlot As Image

于 2013-08-21T10:22:09.080 回答