我可以使用jqplot创建/绘制图表。当我右键单击它并将其保存为PNG时,它将保存一个空白图像。 这是图像数据:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAbkAAAEeCAYAAAAXTWt+AAACAElEQVR4nO3BMQEAAADCoPVPbQ0PoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJ4MtD8AAaRK8nUAAAAASUVORK5CYII=
有人能让我知道这个图像数据是好的,我可以保存吗?
万分感谢!
-Parameshwar
答案 0 :(得分:0)
jqPlot可以将其图表转换为具有 jqplotToImageStr()功能的图像 您必须运行JavaScript才能将动态图表转换为可保存的图像。
在此处查看答案: JqPlot As Image
答案 1 :(得分:0)
我从图表中渲染图像没有任何问题...
var imgData = $('#chart').jqplotToImageStr({});
然后我发送到php页面的imgData var(包含base64图像)让它直接下载。 我只想显示该图像,您只需将该var添加到图像标记的src attr(或将其作为弹出窗口打开,将var作为窗口的href attr传递)
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