【问题标题】:Zingchart getimagedata via coldfusionZingchart 通过冷融合获取图像数据
【发布时间】:2013-01-08 23:24:14
【问题描述】:

我正在尝试提取通过 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”它有效,但我想在我的页面上放置一个按钮来执行相同的操作。

【问题讨论】:

标签: coldfusion cfchart zingchart


【解决方案1】:

我解决了这个问题。除非渲染模式为canvas,否则不能调用getImageData。当我使用'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);

    }
});

【讨论】:

  • (编辑)感谢您发布答案。那么,您是将此代码与 cfchart 结合使用,还是您也创建了自己的图表?询问的原因是 api 说 saveasimage “只有在 zingchart.render 中设置了 exportimageurl 才有效。” .据我所知,该属性似乎无法从 cfchart 访问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-01-09
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多