Heim Web-Frontend js-Tutorial JS+Canvas implementiert die Komprimierung und das Hochladen der Bildvorschau

JS+Canvas implementiert die Komprimierung und das Hochladen der Bildvorschau

Apr 08, 2018 pm 04:58 PM
javascript 压缩

Dieses Mal bringe ich Ihnen JS+Canvas zum Implementieren der BildvorschauVorschau-Komprimierung und des Hochladens. JS+Canvas implementiert Notizenum die Bildvorschau-Komprimierung und das Hochladen zu realisieren. Welche, die folgenden sind praktische Fälle, werfen wir einen Blick darauf.

Werfen wir zunächst einen Blick auf die Renderings, um die Überraschung zu beruhigen

Der erste Schritt: Der Benutzer wählt das Bild aus, das hochgeladen werden soll

<input type="file" accept="image/*" type="file"" name="imageFile" onchange="upload()">
Nach dem Login kopieren

Nachdem das Bild ausgewählt wurde, wird die Upload-Funktion ausgelöst. In dieser Funktion müssen wir die Ressource des Bildes abrufen, es komprimieren und es mithilfe der Leinwand zeichnen. Wir können es auch mit Ajax oder anderen Methoden hochladen.

Schritt 2: Holen Sie sich die komprimierte Vorschau der Bildressource und laden Sie sie hoch

function upload() { 
  let file = document.querySelector('input[type=file]').files[0] // 获取选择的文件,这里是图片类型 
  let reader = new FileReader() 
    reader.readAsDataURL(file) //读取文件并将文件以URL的形式保存在resulr属性中 base64格式 
    reader.onload = function(e) { // 文件读取完成时触发  
      let result = e.target.result // base64格式图片地址  
      var image = new Image() image.src = result // 设置image的地址为base64的地址  
      image.onload = function(){  
        var canvas = document.querySelector("#canvas");  
        var context = canvas.getContext("2d");  
        canvas.width = image.width; // 设置canvas的画布宽度为图片宽度  
        canvas.height = image.height;  
        context.drawImage(image, 0, 0, image.width, image.height) // 在canvas上绘制图片  
        let dataUrl = canvas.toDataURL('image/jpeg', 0.92) // 0.92为压缩比,可根据需要设置,设置过小会影响图片质量  
                                  // dataUrl 为压缩后的图片资源,可将其上传到服务器  
      }  
    } 
 }
Nach dem Login kopieren

Jetzt vergleichen wir, ob das Bild erfolgreich komprimiert wurde:

Originalbildgröße:

Das Komprimierungsverhältnis ist auf 0,92 eingestellt:

Das Komprimierungsverhältnis ist auf 0,52 eingestellt

Finden Sie es auf den ersten Blick seltsam, warum das Bild größer als das Originalbild ist, wenn das Zoomverhältnis auf 0,92 eingestellt ist? Tatsächlich wird das Bild nach der Codierung durch Base64 größer als das Originalbild. Aus bestimmten Gründen können Sie das Codierungsprinzip von Base64 überprüfen. Es scheint, dass wir das Bild erfolgreich komprimiert haben!

Hinweis: Canvas wird unter IE9 nicht unterstützt; versuchen Sie, Base64 nicht für große Bilder zu verwenden, da dies die Reaktionsgeschwindigkeit beeinträchtigt.

Zusammenfassung

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben, achten Sie bitte auf andere Verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Wie Postman+Json und SpringMVC die Batch-Addition implementieren

Wie Postman Token-Parameter überträgt

Detaillierte Erläuterung der Verwendung des jQuery-Sichtbarkeitsfilters

Das obige ist der detaillierte Inhalt vonJS+Canvas implementiert die Komprimierung und das Hochladen der Bildvorschau. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript So implementieren Sie ein Online-Spracherkennungssystem mit WebSocket und JavaScript Dec 17, 2023 pm 02:54 PM

So implementieren Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem. Einführung: Mit der kontinuierlichen Weiterentwicklung der Technologie ist die Spracherkennungstechnologie zu einem wichtigen Bestandteil des Bereichs der künstlichen Intelligenz geworden. Das auf WebSocket und JavaScript basierende Online-Spracherkennungssystem zeichnet sich durch geringe Latenz, Echtzeit und plattformübergreifende Eigenschaften aus und hat sich zu einer weit verbreiteten Lösung entwickelt. In diesem Artikel wird erläutert, wie Sie mit WebSocket und JavaScript ein Online-Spracherkennungssystem implementieren.

Einstellung der maximalen Komprimierungsrate von 7-zip, wie man 7zip auf das Minimum komprimiert Einstellung der maximalen Komprimierungsrate von 7-zip, wie man 7zip auf das Minimum komprimiert Jun 18, 2024 pm 06:12 PM

Ich habe festgestellt, dass das von einer bestimmten Download-Website heruntergeladene komprimierte Paket nach der Dekomprimierung größer ist als das ursprüngliche komprimierte Paket. Der Unterschied beträgt mehrere zehn KB und mehrere zehn MB. Wenn es auf eine Cloud-Festplatte oder einen kostenpflichtigen Speicherplatz hochgeladen wird, spielt es keine Rolle Wenn die Datei klein ist und viele Dateien vorhanden sind, erhöhen sich die Speicherkosten erheblich. Ich habe einige Recherchen dazu durchgeführt und kann bei Bedarf daraus lernen. Komprimierungsstufe: 9-extreme Komprimierung. Wörterbuchgröße: 256 oder 384. Je stärker das Wörterbuch komprimiert ist, desto langsamer ist der Unterschied in der Komprimierungsrate vor 256 MB. Nach 384 MB gibt es keinen Unterschied in der Komprimierungsrate Parameter: f=BCJ2, die Komprimierungsrate für Test- und Add-Parameter ist höher

WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen WebSocket und JavaScript: Schlüsseltechnologien zur Implementierung von Echtzeitüberwachungssystemen Dec 17, 2023 pm 05:30 PM

WebSocket und JavaScript: Schlüsseltechnologien zur Realisierung von Echtzeit-Überwachungssystemen Einführung: Mit der rasanten Entwicklung der Internet-Technologie wurden Echtzeit-Überwachungssysteme in verschiedenen Bereichen weit verbreitet eingesetzt. Eine der Schlüsseltechnologien zur Erzielung einer Echtzeitüberwachung ist die Kombination von WebSocket und JavaScript. In diesem Artikel wird die Anwendung von WebSocket und JavaScript in Echtzeitüberwachungssystemen vorgestellt, Codebeispiele gegeben und deren Implementierungsprinzipien ausführlich erläutert. 1. WebSocket-Technologie

Tipps zum Reduzieren der Größe der Win10-Bildschirmaufzeichnungsdatei Tipps zum Reduzieren der Größe der Win10-Bildschirmaufzeichnungsdatei Jan 04, 2024 pm 12:05 PM

Viele Freunde müssen Bildschirme für Büroarbeiten aufzeichnen oder Dateien übertragen, aber manchmal verursacht das Problem zu großer Dateien große Probleme. Im Folgenden finden Sie eine Lösung für das Problem zu großer Dateien. Schauen wir uns das an. Was tun, wenn die Win10-Bildschirmaufzeichnungsdatei zu groß ist: 1. Laden Sie die Software Format Factory herunter, um die Datei zu komprimieren. Download-Adresse >> 2. Rufen Sie die Hauptseite auf und klicken Sie auf die Option „Video-MP4“. 3. Klicken Sie auf der Seite mit dem Konvertierungsformat auf „Datei hinzufügen“ und wählen Sie die zu komprimierende MP4-Datei aus. 4. Klicken Sie auf der Seite auf „Ausgabekonfiguration“, um die Datei entsprechend der Ausgabequalität zu komprimieren. 5. Wählen Sie „Geringe Qualität und Größe“ aus der Dropdown-Konfigurationsliste und klicken Sie auf „OK“. 6. Klicken Sie auf „OK“, um den Import der Videodateien abzuschließen. 7. Klicken Sie auf „Start“, um die Konvertierung zu starten. 8. Nach Abschluss können Sie

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Dec 17, 2023 pm 05:13 PM

JavaScript und WebSocket: Aufbau eines effizienten Echtzeit-Wettervorhersagesystems Einführung: Heutzutage ist die Genauigkeit von Wettervorhersagen für das tägliche Leben und die Entscheidungsfindung von großer Bedeutung. Mit der Weiterentwicklung der Technologie können wir genauere und zuverlässigere Wettervorhersagen liefern, indem wir Wetterdaten in Echtzeit erhalten. In diesem Artikel erfahren Sie, wie Sie mit JavaScript und WebSocket-Technologie ein effizientes Echtzeit-Wettervorhersagesystem aufbauen. In diesem Artikel wird der Implementierungsprozess anhand spezifischer Codebeispiele demonstriert. Wir

Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Einfaches JavaScript-Tutorial: So erhalten Sie den HTTP-Statuscode Jan 05, 2024 pm 06:08 PM

JavaScript-Tutorial: So erhalten Sie HTTP-Statuscode. Es sind spezifische Codebeispiele erforderlich. Vorwort: Bei der Webentwicklung ist häufig die Dateninteraktion mit dem Server erforderlich. Bei der Kommunikation mit dem Server müssen wir häufig den zurückgegebenen HTTP-Statuscode abrufen, um festzustellen, ob der Vorgang erfolgreich ist, und die entsprechende Verarbeitung basierend auf verschiedenen Statuscodes durchführen. In diesem Artikel erfahren Sie, wie Sie mit JavaScript HTTP-Statuscodes abrufen und einige praktische Codebeispiele bereitstellen. Verwenden von XMLHttpRequest

So komprimieren Sie einen Ordner und senden ihn per WPS So komprimieren Sie einen Ordner und senden ihn per WPS Mar 20, 2024 pm 12:58 PM

Büroangestellte verwenden die WPS-Software sehr häufig bei der Arbeit und senden sie dann an den Leiter oder an einen bestimmten Ort. Wie komprimiert die WPS-Software sie zum Senden? . Dieser Arbeitsschritt. Organisieren Sie zunächst die Dateien und Ordner, die Sie senden möchten, im selben Ordner. Wenn Sie viele Dateien haben, empfiehlt es sich, jede Datei zu benennen, damit Sie sie beim Senden leichter identifizieren können. Zweiter Schritt: Klicken Sie dieses Mal auf diesen großen Ordner und dann mit der rechten Maustaste. Wählen Sie „Zum Archiv hinzufügen“. Schritt 3: Zu diesem Zeitpunkt hilft uns die Software automatisch beim Packen unserer Dateien. Wählen Sie „Komprimieren in XX.zip“ und klicken Sie dann auf „Jetzt komprimieren“.​

Mar 18, 2024 pm 12:55 PM

WinRAR ist ein leistungsstarkes Tool zur Verwaltung komprimierter Dateien, das umfangreiche Funktionen und eine benutzerfreundliche Oberfläche bietet. Die 64-Bit-Version von WinRAR ist speziell für 64-Bit-Betriebssysteme optimiert und kann Systemressourcen und Leistung besser nutzen. Als nächstes lassen Sie sich vom Redakteur Winrar 64-Bit vorstellen und erklären, wie man Winrar dekomprimiert! 1. Was ist WinRAR 64-Bit-Software? WinRAR ist ein leistungsstarker komprimierter Paketmanager. Mit dieser Software können Sie Ihre Daten sichern, die Größe von E-Mail-Anhängen reduzieren, RAR-, ZIP- und andere aus dem Internet heruntergeladene Dateien dekomprimieren und neue Dateien in den Formaten RAR und ZIP erstellen. Die neueste Version von WINRAR ist Wi

See all articles