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を使用しています。
ありがとうございます!