4

我正在尝试提取通过 CFCHART 生成的 zingchart 的 SVG 内容并将其传递给我的服务器以将 SVG 转换为 PNG

$('#downloadGraph').click(function() {
    zingchart.EXPORTURL = 'imageexport.cfm'; 
    zingchart.AJAXEXPORT = true;
    zingchart.exec('myChart', 'getimagedata', {
        format : 'png',
        callback : function(sImageData) {
            console.log(sImageData);

        }
    });
});

但是我收到以下错误

Uncaught TypeError: Cannot call method 'zcExec' of null 
cfchart-lite.js:1
zingchart.exec_flash cfchart-lite.js:1
zingchart.exec cfchart-html.js:165

我知道该功能有效,因为如果您右键单击图表并选择“导出到 PNG”它可以工作,但我想在我的页面上放置一个按钮来执行相同的操作。

4

1 回答 1

3

我解决了这个问题。除非getImageData渲染模式为canvas. 当我使用'SVG'时,它返回-1。但是,我认为 cfchart-lite.js 没有正确处理这个返回值。

解决的方法是saveasimage改用

zingchart.EXPORTURL = 'imageexport.cfm'; 
zingchart.AJAXEXPORT = true;

zingchart.exec('datasetChart', 'saveasimage', {
        format : 'png',
        callback : function(sImageData) {
            console.log(sImageData);

    }
});
于 2013-01-09T22:42:28.417 回答