Heim > Web-Frontend > View.js > Hauptteil

Wie komprimiere und formatiere ich Bilder in Vue?

WBOY
Freigeben: 2023-08-25 23:06:31
Original
2105 Leute haben es durchsucht

Wie komprimiere und formatiere ich Bilder in Vue?

Wie komprimiere und formatiere ich Bilder in Vue?

Bei der Frontend-Entwicklung müssen wir häufig Bilder komprimieren und formatieren. Besonders in der mobilen Entwicklung ist es wichtig, Bilder zu komprimieren und zu formatieren, um die Seitenladegeschwindigkeit zu verbessern und Benutzerverkehr zu sparen. Im Vue-Framework können wir einige Werkzeugbibliotheken zum Komprimieren und Formatieren von Bildern verwenden.

  1. Verwenden Sie die Bibliothek „compressor.js“ zur Komprimierung.

compressor.js ist eine JavaScript-Bibliothek zum Komprimieren von Bildern. Es kann Bilder gemäß angegebenen Konfigurationselementen komprimieren und die komprimierten Ergebnisse zurückgeben. Wir können compresser.js über npm installieren:

npm install --save compressorjs
Nach dem Login kopieren

Kompressor.js in die Vue-Komponente einführen:

import Compressor from 'compressorjs';
Nach dem Login kopieren

Dann können wir compresser.js verwenden, um das Bild zu komprimieren. Das Folgende ist ein einfacher Beispielcode zum Komprimieren von Bildern:

export default {
  methods: {
    compressImage(file) {
      new Compressor(file, {
        quality: 0.6, // 压缩质量,取值范围为0到1
        success(result) {
          // 压缩成功后的回调函数
          console.log('压缩成功:', result);
        },
        error(err) {
          // 压缩失败后的回调函数
          console.error('压缩失败:', err);
        },
      });
    },
  },
};
Nach dem Login kopieren

Im obigen Code haben wir über das Schlüsselwort new ein Kompressorobjekt erstellt und die Komprimierungsqualität auf 0,6 festgelegt. Wenn die Komprimierung erfolgreich ist, wird die Rückruffunktion „Erfolg“ aufgerufen. Wenn die Komprimierung fehlschlägt, wird die Rückruffunktion „Fehler“ aufgerufen.

  1. Verwenden Sie die exif-js-Bibliothek für die Bilddrehung.

Mit Mobilgeräten aufgenommene Fotos können aufgrund von Problemen mit der Geräteausrichtung zu einer Bilddrehung führen. Um das Bild in der richtigen Ausrichtung zu halten, können wir die exif-js-Bibliothek verwenden, um die Exif-Informationen des Bildes zu lesen und das Bild basierend auf den Exif-Informationen zu drehen.

Wir können exif-js über npm installieren:

npm install --save exif-js
Nach dem Login kopieren

Exif-js in die Vue-Komponente einführen:

import EXIF from 'exif-js';
Nach dem Login kopieren

Anschließend können wir die Exif-js-Bibliothek verwenden, um die Exif-Informationen des Bildes zu lesen und es basierend auf dem zu drehen Exif-Informationen. Das Folgende ist ein einfacher Beispielcode für die Bildrotation:

export default {
  methods: {
    rotateImage(file) {
      EXIF.getData(file, function() {
        const orientation = EXIF.getTag(this, 'Orientation');
        const canvas = document.createElement('canvas');
        const ctx = canvas.getContext('2d');

        const img = new Image();
        img.src = URL.createObjectURL(file);

        img.onload = function() {
          const degree = getDegreeByOrientation(orientation);
          canvas.width = img.width;
          canvas.height = img.height;
          ctx.rotate((degree * Math.PI) / 180);
          ctx.drawImage(img, 0, 0);
          const rotatedImage = canvas.toDataURL(file.type, 1.0);
          console.log('旋转后的图片:', rotatedImage);
        };
      });
    },
    getDegreeByOrientation(orientation) {
      switch (orientation) {
        case 3:
          return 180;
        case 6:
          return 90;
        case 8:
          return 270;
        default:
          return 0;
      }
    },
  },
};
Nach dem Login kopieren

Im obigen Code verwenden wir die Methode EXIF.getData, um die Exif-Informationen des Bildes abzurufen, und erhalten das Orientierungsattribut des Bildes über die Methode getTag. Berechnen Sie dann den Winkel, der gedreht werden muss, basierend auf dem Richtungsattribut. Erstellen Sie dann ein Canvas-Element, verwenden Sie die Rotationsmethode von Canvas, um das Bild zu drehen, und verwenden Sie schließlich die toDataURL-Methode von Canvas, um das gedrehte Bild in das Base64-Format zu konvertieren.

Anhand der beiden oben genannten Beispiele können wir Bilder in Vue komprimieren und formatieren. Dies kann uns helfen, die Ladegeschwindigkeit der Seite zu verbessern und den Benutzerverkehr zu reduzieren. Selbstverständlich können wir je nach Bedarf auch andere Werkzeugbibliotheken kombinieren, um Bilder weiter zu bearbeiten, z. B. zuschneiden, mit Wasserzeichen versehen usw.

Das obige ist der detaillierte Inhalt vonWie komprimiere und formatiere ich Bilder in Vue?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!