Ich verwende canvg, um Svg in div in canvas konvertieren (bis dahin funktioniert es gut) und dann kopieren Sie die innerHTML von div zu einem anderen div, aber es funktioniert nicht. Leinwand kommt, aber nichts wird in dieser Leinwand vorhanden sein. Dank im VorausAnhängen eines div mit Canvas funktioniert nicht
<div id="k">
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
Sorry, your browser does not support inline SVG.
</svg>
</div>
<div id="kk">
<p>Watch me</p>
</div>
var svgTag = document.querySelectorAll('#k svg');
svgTag = svgTag[0];
var c = document.createElement('canvas');
c.width = svgTag.clientWidth;
c.height = svgTag.clientHeight;
svgTag.parentNode.insertBefore(c, svgTag);
svgTag.parentNode.removeChild(svgTag);
var div = document.createElement('div');
div.appendChild(svgTag);
canvg(c, div.innerHTML);
setTimeout(function(){
var data = $("#k").html();
$("#kk").append($(''+data+''));
},5000);
Ja, Leinwand ist ein besonderes Element. Es kann nicht einfach mit Javascript kopiert werden, es muss "neu gezeichnet" werden –
Wie neu die Leinwand? Vielen Dank – Kumar