Heim > Web-Frontend > View.js > Hauptteil

Wie implementiert man das Zuschneiden und Komprimieren von Bildern in Vue?

WBOY
Freigeben: 2023-06-25 10:27:33
Original
4622 Leute haben es durchsucht

Mit der Verbreitung mobiler Geräte wird die Nachfrage nach Bildverarbeitung immer größer, wobei das Zuschneiden und Komprimieren von Bildern häufige Anforderungen sind. In diesem Artikel wird erläutert, wie das Zuschneiden und Komprimieren von Bildern in Vue implementiert wird.

1. Bilder zuschneiden

  1. Plug-in installieren

Zuerst müssen Sie das Plug-in vue-cropper installieren, das auf Cropperjs basiert und die Funktion zum Zuschneiden von Bildern schnell implementieren kann.

npm install vue-cropper --save
Nach dem Login kopieren
  1. Stellen Sie das Plug-in vor

Führen Sie das Plug-in in main.js ein und registrieren Sie es:

import VueCropper from 'vue-cropper'
Vue.component('VueCropper', VueCropper)
Nach dem Login kopieren
  1. Komponente hinzufügen

Zuschneidekomponente in der Komponente hinzufügen:

<template>
  <div>
    <input type="file" ref="file" @change="getFile($event)" />
    <vue-cropper v-model="image" :guides="true"></vue-cropper>
    <button @click="getCroppedImage">裁剪图片</button>
    <div class="result">
      <img :src="croppedImage" alt="裁剪后的图片" v-if="croppedImage" />
    </div>
  </div>
</template>
Nach dem Login kopieren
  1. Machen Sie sich ein Bild

Definieren Sie das Bildobjekt in Daten und das zugeschnittene Bildobjekt:

data () {
  return {
    image: null,
    croppedImage: null
  }
}
Nach dem Login kopieren

Fügen Sie die Methode getFile hinzu, um das hochgeladene Bild zu erhalten:

getFile (event) {
  let file = event.target.files[0]
  let reader = new FileReader()
  reader.readAsDataURL(file)
  reader.onload = e => {
    this.image = e.target.result
  }
}
Nach dem Login kopieren
Nach dem Login kopieren
  1. Bild zuschneiden

Fügen Sie die Methode getCroppedImage hinzu, um das Bild zuzuschneiden:

getCroppedImage () {
  this.$refs.cropper.getCroppedCanvas().toBlob(blob => {
    this.croppedImage = window.URL.createObjectURL(blob)
  })
}
Nach dem Login kopieren

2. Komprimieren Sie das Bild

Zusätzlich zum Zuschneiden des Bildes müssen wir in einigen Fällen auch Bilder komprimieren, um die Seitenladegeschwindigkeit zu verbessern. Hier erfahren Sie, wie Sie die Bildkomprimierung erreichen.

  1. Installieren Sie das Plug-in

Installieren Sie das Plug-in vue-image-compressor, das auf image-compressor.js basiert und die Bildkomprimierungsfunktion schnell implementieren kann.

npm install vue-image-compressor --save
Nach dem Login kopieren
  1. Plug-in einführen

Plug-in in main.js einführen und registrieren:

import ImageCompressor from 'vue-image-compressor'
Vue.use(ImageCompressor)
Nach dem Login kopieren
  1. Komponente hinzufügen

Upload-Komponente in Komponente hinzufügen:

<template>
  <div>
    <input type="file" ref="file" @change="getFile($event)" />
    <button @click="compressImage">压缩图片</button>
    <div class="result">
      <img :src="compressedImage" alt="压缩后的图片" v-if="compressedImage" />
    </div>
  </div>
</template>
Nach dem Login kopieren
  1. Bild abrufen

Bildobjekt definieren in data Und das komprimierte Bildobjekt:

data () {
  return {
    image: null,
    compressedImage: null
  }
}
Nach dem Login kopieren

Fügen Sie die getFile-Methode hinzu, um das hochgeladene Bild zu erhalten:

getFile (event) {
  let file = event.target.files[0]
  let reader = new FileReader()
  reader.readAsDataURL(file)
  reader.onload = e => {
    this.image = e.target.result
  }
}
Nach dem Login kopieren
Nach dem Login kopieren
  1. Komprimiertes Bild

Fügen Sie die compressImage-Methode hinzu, um das Bild zu komprimieren:

compressImage () {
  let options = {
    quality: 0.7,
    maxWidth: 500,
    maxHeight: 500,
    mimeType: 'image/jpeg'
  }
  this.$compress(this.image, options).then(data => {
    this.compressedImage = data
  })
}
Nach dem Login kopieren

Zu den Optionen gehören unter anderem Komprimierungsparameter und Qualität bedeutet Komprimierungsqualität, maxWidth und maxHeight repräsentieren die maximale Breite und Höhe und mimeType repräsentiert das komprimierte Bildformat. 3. Beispielcode: 4. Zusammenfassung Zuschneiden und das Plug-in vue-image-compressor eines Drittanbieters werden verwendet, um Bildverarbeitungsfunktionen schnell zu implementieren und die Entwicklungseffizienz zu verbessern.

Das obige ist der detaillierte Inhalt vonWie implementiert man das Zuschneiden und Komprimieren von Bildern in Vue?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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