Wissen Sie, wie Sie mit Vue Screenshots von Webseiten erstellen?

Wissen Sie, wie Sie mit Vue Screenshots von Webseiten erstellen?

1. Installieren Sie html2Canvas

npm installiere html2canvas --save

2. In die erforderliche Vue-Komponente einführen

importiere html2canvas von „html2canvas“;

3. Schreiben Sie eine Screenshot-Schaltfläche

<el-button class="button-dalod" size="mini" title="Bild generieren" @click="toImage()" icon="el-icon-download"></el-button>

4. Rufen Sie die Funktion toImage auf

// Seitenelemente in Bilder umwandeln toImage () {
            // Manuell ein Canvas-Tag erstellen const canvas = document.createElement("canvas")
            // Holen Sie sich das übergeordnete Tag, d. h. das DOM-Element in diesem Tag generiert das Bild. // imageTofile ist ein benutzerdefinierter Referenzname für das übergeordnete Element innerhalb des Screenshot-Bereichs. let canvasBox = this.$refs.imageTofile
            // Breite und Höhe des übergeordneten Elements abrufen const width = parseInt(window.getComputedStyle(canvasBox).width)
            const Höhe = parseInt(window.getComputedStyle(canvasBox).Höhe)
            // Breite und Höhe * 2 und 2-mal vergrößert, um zu verhindern, dass das Bild unscharf wird canvas.width = width * 2
            canvas.height = Höhe * 2
            canvas.style.width = Breite + "px"
            canvas.style.height = Höhe + "px"
            const Kontext = Canvas.getContext("2d");
            Kontext.Skala(2, 2);
            const Optionen = {
                Hintergrundfarbe: null,
                Leinwand: Leinwand,
                useCORS: wahr
            }
            html2canvas(CanvasBox, Optionen).dann((Canvas) => {
                // toDataURL Bildformat in Base64 konvertiert
                let dataURL = canvas.toDataURL("bild/png")
                console.log(Daten-URL)
                dies.downloadImage(dataURL)
            })
        },
        //Lade das Bild herunter downloadImage(url) {
            // Wenn es sich auf einer Webseite befindet, können Sie direkt ein A-Tag zum direkten Download erstellen. let a = document.createElement('a')
            a.href = URL
            a.download = 'Startseite-Screenshot'
            ein.Klick()
        },

Vergessen Sie nicht, dem übergeordneten Element der Seite innerhalb des Screenshot-Bereichs das Ref-Attribut hinzuzufügen, damit Canvas das übergeordnete Element finden und die Breite und Höhe für die Erstellung eines Screenshots berechnen kann.

Dies ist das Screenshot-Ergebnis:

Zusammenfassen

Dieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können!

Das könnte Sie auch interessieren:
  • So verwenden Sie Vue zum Generieren von Bildern aus HTML-Seiten
  • So verwenden Sie Vue zum Generieren von Bildern aus HTML-Seiten
  • So verwenden Sie Canvas in Vue, um die Synthese von QR-Code und Bildposter zu realisieren
  • So verwandeln Sie HTML-Elemente in Vue3 in Canvas (Postergenerierung), um Bilder zu speichern/Screenshots davon zu erstellen

<<:  Beschreibung der Grenzen und Bereiche zwischen MySQL

>>:  Lösen Sie das Docker.Socket-Berechtigungsproblem des VSCode-Docker-Plugins

Artikel empfehlen

mysql drei Tabellen verbunden, um eine Ansicht zu erstellen

Drei Tabellen sind miteinander verbunden. Feld a ...

Detaillierte Erläuterung des Prinzips der Vue-Überwachungsdaten

Inhaltsverzeichnis 1. Einleitung II. Überwachungs...

Auswahl und Überlegungen zur MySQL-Datensicherungsmethode

Inhaltsverzeichnis 1. rsync, cp Dateien kopieren ...

Eine gute Möglichkeit, Ihre Designfähigkeiten zu verbessern

Sogenanntes Talent (linke und rechte Gehirnhälfte...

Implementierung der CSS-Bildlaufleisten-Stileinstellungen

WebKit-Bildlaufleistenstil zurücksetzen 1. Die Bi...

Detaillierte Erläuterung des MySQL-Mechanismus zur gemeinsamen Abfrageoptimierung

Inhaltsverzeichnis Strategie zur Ausführung föder...

Lösung für Fremdschlüsselfehler bei der MySQL-Tabellenerstellung

Datenbanktabelle A: Tabelle erstellen Task_Desc_T...

Erste Schritte mit MySQL Sharding

Vorwort Relationale Datenbanken werden eher zu Sy...