0

Please help me. I am trying to convert a line chart to canvas image.

$scope.export = function() {
    html2canvas($('#div'), {
        useCORS: true,
        onrendered: function(canvas) {
            document.body.appendChild(canvas)
        }
    });
}
krlzlx
  • 5,752
  • 14
  • 47
  • 55
Sourav Golui
  • 583
  • 1
  • 6
  • 13

1 Answers1

0
var svgString = new XMLSerializer().serializeToString(document.querySelector('svg'));

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var DOMURL = self.URL || self.webkitURL || self;
var img = new Image();
var svg = new Blob([svgString], { type: "image/svg+xml;charset=utf-8" });
var url = DOMURL.createObjectURL(svg);

img.onload = function() {
   ctx.drawImage(img, 0, 0);
   var png = canvas.toDataURL("image/png");
   DOMURL.revokeObjectURL(png);
   img.src = url;
}
Sourav Golui
  • 583
  • 1
  • 6
  • 13