html-und Svg-Leinwand, javascript
<div id="Contents">
<div style="float:left;margin-left:10px;">
<svg></svg>
</div>
<div style="float:left;margin-left:10px;">
<svg></svg>
</div>
</div>
Dies ist mein html-code. Ich will es konvertieren Leinwand Bild.
html2canvas($("#Contents"), {
onrendered: function(canvas) {
window.open(canvas.toDataURL());
}
});
Benutze ich html2canvas plugin zum konvertieren Sie es, um Bild, aber Es zeigt nicht svg.
Ich lösen Konvertierung von svg-tp Leinwand, aber jetzt html2canvas nicht arbeiten
var $to=$("#MainContents").clone();
$($to).children(".box").each(function() {
var svg = ResizeArray[$(this).children(".box-content").children().attr("new-id")-1].svg();
var Thiscanvas = document.createElement("canvas");
Thiscanvas.setAttribute("style", "height:" + 100 + "px;width:" + 100+ "px;");
canvg(Thiscanvas, svg);
$(this).append(Thiscanvas);
});
html2canvas($($to), {
onrendered: function(canvasq) {
var w=window.open(canvasq.toDataURL());
w.print();
}
});
Kann ich umwandeln svg auf die Leinwand, aber html2canvas-Funktion funktioniert nicht.
- Fabric.js kann Rendern von SVG-Grafiken auf Leinwand
- stackoverflow.com/questions/14165426/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie canvg Bibliothek für das zeichnen von svg zu einer temporären Leinwand und dann entfernen, die Leinwand sobald Sie den screenshot mit html2canvas.
Hier ist der link für canvg : https://github.com/canvg/canvg
Versuchen Sie dies:
Als html2canvas nicht nehmen, svg-Elemente, die Sie brauchen, um zu konvertieren alle svg-Elemente auf die Leinwand, bevor der Aufruf der html2canvas Methode. Sie konnte die canvg Bibliothek zu konvertieren alle svg auf die Leinwand. Übergeben Sie das jquery-Objekt(der braucht zum konvertieren von svg auf Leinwand, kann auch ein übergeordnetes element), um die folgende Methode:
}
Deine Lösung funktioniert wunderbar. Da bin ich nicht die Verwendung von jQuery in meiner Bewerbung, musste ich paar Zeilen in svgCanvas für die svg-Elemente und das Durchlaufen werden. Der rest der Funktionen funktioniert ohne änderungen. Mein code ist...
html2canvas nicht erlauben, zu speichern SVG ist ein Thema.
https://github.com/niklasvh/html2canvas/issues/95
Wenn Sie speichern möchten, eine SVG-Sie Folgen einer anderen Art und Weise, wie für die Transformation von SVG in ein PNG zum Beispiel
SVG -> canvas -> PNG -> canvas -> PNG
Können Sie erstellen Sie Ihre eigenen innerHTML, wie die folgende(github:https://github.com/yelloxing/clay/blob/master/src/_polyfill/innerHTML.js):
geben Sie eine Bild-Beschreibung hier