Lösung für das Problem, dass HTML2-Canvas-SVG nicht erkannt wird

Lösung für das Problem, dass HTML2-Canvas-SVG nicht erkannt wird

Es gibt eine neue Funktion, die das Erfassen einer Webseite als Bild erfordert. Daher habe ich das beliebte html2canvas verwendet. Ich dachte, ich könnte es problemlos machen, aber später stellte ich fest, dass die Verbindungslinien des Flussdiagramms auf der Webseite nicht im Screenshot enthalten waren. Ich habe also viel auf Baidu und Bing gesucht, aber es scheint, dass es keinen vollständigen Code gibt. Jetzt habe ich es selbst gelöst und teile den Code.

Zuerst müssen Sie canvg.js herunterladen, GitHub-Adresse: https://github.com/canvg/canvg

Funktion showQRCode() {
                scrollenZu(0, 0);
               
                wenn (Typ von html2canvas !== 'undefiniert') {
                    //Das Folgende ist die Verarbeitung von svg var nodesToRecover = [];
                    var nodesToRemove = [];
                    var svgElem = $("#divReport").find('svg'); //divReport ist die ID des Doms, das als Bild erfasst werden muss
                    svgElem.each(Funktion (Index, Knoten) {
                        var übergeordneter Knoten = Knoten.übergeordneter Knoten;
                        var svg = node.outerHTML.trim();

                        var Leinwand = Dokument.createElement('Leinwand');
                        canvg(Leinwand, SVG); 
                        wenn (Knoten.Stil.Position) {
                            Leinwand.Stil.Position += Knoten.Stil.Position;
                            Leinwand.Stil.links += Knoten.Stil.links;
                            canvas.style.top += node.style.top;
                        }

                        nodesToRecover.push({
                            übergeordneter Knoten: übergeordneter Knoten,
                            Kind: Knoten
                        });
                        übergeordneter Knoten.entfernenUntergeordnetesElement(Knoten);

                        nodesToRemove.push({
                            übergeordneter Knoten: übergeordneter Knoten,
                            Kind: Leinwand
                        });

                        parentNode.appendChild(Leinwand);
                    });
                    html2canvas(document.querySelector("#divReport"), {
                        onrendered: Funktion (Leinwand) {
                            var base64Str = canvas.toDataURL(); //Base64-Code, kann in Bild konvertiert werden//...

                            $('<img>',{src:base64Str}).appendTo($('body'));//Direkt auf der Originalwebseite anzeigen} }); } }

Dies ist das Ende dieses Artikels über die Lösung für das Problem, dass HTML2+Canvas SVG nicht erkannt wird. Weitere verwandte Inhalte zum Thema „HTML2 Canvas SVG wird nicht erkannt“ finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  JavaScript zur einfachen Verknüpfung von Provinzen und Gemeinden

>>:  Schritte zur Installation von MySQL mit Docker unter Linux

Artikel empfehlen

Ideen und Codes zur Realisierung des Lupeneffekts in js

In diesem Artikelbeispiel wird der spezifische Co...

So implementieren Sie die Fernzugriffskontrolle in Centos 7.4

1. SSH-Remoteverwaltung SSH ist ein sicheres Kana...

Inspirierende Designbeispiele für glänzendes und schimmerndes Website-Design

Diese Sammlung zeigt eine Reihe herausragender und...

css Alle Elemente ab dem n-ten abrufen

Der spezifische Code lautet wie folgt: <div id...

Tägliche Studiennotizen im HTML-Designmuster

Studiennotizen zu HTML-Entwurfsmustern Diese Woch...

Eine kurze Diskussion über HTML-Dokumenttypen und -Kodierung

DOKTYP Doctype wird verwendet, um dem Browser mit...

Vergleichende Analyse von MySQL Binlog-Protokollverarbeitungstools

Inhaltsverzeichnis Kanal Maxwell Datenbus Datenüb...

Erläuterung der Methode zum Schreiben von SQL-Anweisungen zum Einfügen

Methode 1: INSERT INTO t1(Feld1,Feld2) VALUE(v001...