2017-01-02 9 views
0

私は少しこれを扱ってきましたが、うまくいかないようです。結果として得られるPNG画像にOnclickは空です。以下のコードを参照してください....SVGをPNGに変換しようとしています

function svgToCanvas (targetElem,fileName) { 
    var nodesToRecover = []; 
    var nodesToRemove = []; 

    var svgElem = targetElem.find('svg'); 

    console.log(svgElem); 

    svgElem.each(function(index, node) { 
     var parentNode = node.parentNode; 
     var svg = parentNode.innerHTML; 

     var canvas = document.createElement('canvas'); 

     canvg(canvas, svg); 

     nodesToRecover.push({ 
      parent: parentNode, 
      child: node 
     }); 

     parentNode.removeChild(node); 

     nodesToRemove.push({ 
      parent: parentNode, 
      child: canvas 
     }); 

     parentNode.appendChild(canvas); 
    }); 

    html2canvas(targetElem, { 
     allowTaint: true, 
     onrendered: function(canvas) { 

      var theName = fileName + ".png"; 
      prev_img = theName; 

      var a = document.createElement('a'); 
      a.href = canvas.toDataURL(); 
      a.download = theName; 
      a.click(); 

     } 

    }); 

} 

#Running the function.. 
var theDiv = $('#divContainingSVG'); 
var fileNm = "imageName"; 
svgToCanvas(theDiv, fileNm); 

次にどこに行くのかわかりません。私は単にイメージをpngに変換し、それをサーバーに保存する必要があります。ダウンロードバージョンをテストすると、結果として得られるPNGは空白になります。私は... canvg.js(rgbcolor.jsを含む)とhtml2canvas.svg.jsを使用しています。

ありがとうございます!

答えて

0

実際、この関数がうまく動作することが分かります。問題は、誤ってSVGを取得するために含まれていた別の機能との競合でした。

関連する問題