Angularjs 在Phonegap应用程序中下载Highchart图像

Angularjs 在Phonegap应用程序中下载Highchart图像,angularjs,cordova,ionic-framework,phonegap-plugins,hybrid-mobile-app,Angularjs,Cordova,Ionic Framework,Phonegap Plugins,Hybrid Mobile App,我们正在使用Phonegap+Ionic开发一个移动应用程序。我们在应用程序中使用了Highcarts。我们想提供一个功能,在facebook、Whatsapp或Twitter上分享highchart。phonegap不存在共享问题,因为有一个插件可用于此 问题是,当我们想要使用phonegap插件共享任何图像时,我们需要给出图像的路径,Highchart使用SVG显示图表 我尝试过将SVG转换成画布,然后使用phonegap的org.devgeeks.Canvas2ImagePlugin将画布

我们正在使用Phonegap+Ionic开发一个移动应用程序。我们在应用程序中使用了Highcarts。我们想提供一个功能,在facebook、Whatsapp或Twitter上分享highchart。phonegap不存在共享问题,因为有一个插件可用于此

问题是,当我们想要使用phonegap插件共享任何图像时,我们需要给出图像的路径,Highchart使用SVG显示图表

我尝试过将SVG转换成画布,然后使用phonegap的org.devgeeks.Canvas2ImagePlugin将画布导出,但没有任何效果

如果有人取得了这样的成就,请帮助或分享一些代码


提前感谢。

花费数小时后,我们有了解决方案。希望这也能帮助其他人

(1) 安装Cordova插件“org.devgeeks.Canvas2ImagePlugin”

(2) 获取highchart的SVG html

var svg = document.getElementById('chart1').children[0].innerHTML;
(3) 创建一个canvasHTML元素并将该Canvas元素附加到页面的div中

 var canvas = document.createElement('canvas');
 canvas.width = $window.innerWidth;
 canvas.height = 500;

 document.getElementById('divID').innerHTML = '';
 document.getElementById('divID').appendChild(canvas);
(4) Canvg将把图像添加到画布中

canvg(canvas, svg, { log: true, ignoreMouse: true, ignoreAnimation: true });
(5) 在Cordova插件的帮助下,您可以像这样下载图像

window.canvas2ImagePlugin.saveImageDataToLibrary(
    function(path) {
        console.log(path);
    },
    function(err) {
        console.log(err);
    },
    document.getElementById('canvas').getElementsByTagName("canvas")[0]
);
我收到错误“error:Element'html'尚未实现”。请让我知道如何解决这个问题