Vue implementiert die Funktion zum Aufrufen der Handykamera und des Albums

Vue implementiert die Funktion zum Aufrufen der Handykamera und des Albums

In diesem Artikel wird der spezifische Code von Vue zum Zugriff auf die Handykamera und das Album zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Meine eigene Zusammenfassung der nativen Methode zum Aufnehmen von Fotos und Alben auf Mobiltelefonen

HTML Code

<div>
//Anzuzeigendes Bild <div class="imgBox name">
      <img:src="imgQuelle" />
  </div>
  <van-Aktionsblatt v-Modell="show1">
   <ul>
    <li class="paizhao" @click="captureImage()">Machen Sie ein Foto</li>
    <li class="paizhao" @click="galleryImg()">Aus Album auswählen</li>
    <li class="paizhao" @click="quxiao()">Abbrechen</li>
   </ul>
  </van-action-sheet> 
</div>

js Logikcode

//In data () deklarierte Variablen {
zurückkehren {
 imgSrc: "", //Der angezeigte Bildpfad tupianlist: "", //Der angezeigte Bildcontainer }
}

Definieren Sie den Ereignisnamen in der Ereignismethode

Methoden: {
     // Wähle ein Bild aus dem Album galleryImg() {
      lass Dies = dies;
      console.log("Wählen Sie ein Bild aus dem Album aus:");
      plus.gallery.pick(Funktion(Pfad) {
        This.imgSrc = Pfad; //Pfad ist ein lokaler Pfad let img = neues Image();
        img.src = Pfad;
        img.onload = Funktion(Pfad) {
          var das = img;
          var w = diese.Breite, //320
            h = diese.Höhe, //426
            Maßstab = B / H;
          b = 320 || b;
          h = b / Maßstab;
          var Leinwand = Dokument.createElement("Leinwand");
          canvas.width = 300; //Diese Einstellung kann nicht verloren gehen, sonst wird die Canvas-Standardgröße von 300*150 übernommen. canvas.height = 300; //Diese Einstellung kann nicht verloren gehen, sonst wird die Canvas-Standardgröße von 300*150 übernommen. var ctx = canvas.getContext("2d");
          ctx.drawImage(das, 0, 0, 300, 300);
          var base64 = canvas.toDataURL(
            "Bild/PNG",
            "Bild/JPEG",
            "bild/jpg",
            1 || 0,8
          );     
          Dies.tupianlist = base64;
          // console.log(This.tupianlist + "Ich bin die transkodierte Basis");
 
  //Die Schnittstelle können Sie hier anfordern};
      });
    },
    // Mach ein Foto captureImage() {
      lass Dies = dies;
      var cmr = plus.camera.getCamera(); //Kameraverwaltungsobjekt abrufen var res = cmr.supportedImageResolutions[0]; //String-Array, von der Kamera unterstützte Auflösungen var fmt = cmr.supportedImageFormats[0]; //String-Array, von der Kamera unterstützte Dateiformate // console.log("Fotoauflösung: " + res + ", Fotodateiformat: " + fmt);
      cmr.captureImage(
        Funktion(Pfad) {
          plus.gallery.save(Pfad, Parameter => {
            let Datei = Parameter.Datei;
            //Als Base64 kodieren
            var img = neues Bild();
            img.src = Datei;
            img.onload = Funktion() {
              var das = img;
              var w = diese.Breite,
                h = diese Höhe,
                Maßstab = B / H;
              b = 320 || b;
              h = b / Maßstab;
              var Leinwand = Dokument.createElement("Leinwand");
              canvas.width = 300; //Diese Einstellung kann nicht verloren gehen, sonst wird die Canvas-Standardgröße von 300*150 übernommen. canvas.height = 300; //Diese Einstellung kann nicht verloren gehen, sonst wird die Canvas-Standardgröße von 300*150 übernommen. var ctx = canvas.getContext("2d");
              ctx.drawImage(das, 0, 0, 300, 300);
              var base64 = canvas.toDataURL(
                "Bild/PNG",
                "Bild/JPEG",
                "bild/jpg",
                1 || 0,8
              );
              // konsole.log(base64);
              Dies.tupianlist = base64;
  //Die Schnittstelle können Sie hier anfordern};
          });
          //Fotoaufnahmevorgang ausführen// Verzeichnisobjekt oder Dateiobjekt über URL-Parameter abrufen plus.io.resolveLocalFileSystemURL(Pfad, Funktion(Eintrag) {
            var tmpPath = entry.toLocalURL(); //Verzeichnispfad abrufen und in die lokale Pfad-URL-Adresse konvertieren This.imgSrc = tmpPath;
            // alert("Aufnahme erfolgreich: " + tmpPath);
          });
        },
        Funktion (Fehler) {
          //Rückruf, wenn die Bildaufnahme fehlgeschlagen ist // alert("Bildaufnahme fehlgeschlagen: " + error.message);
        },
        { Auflösung: res, Format: fmt }
      );
      dies.show1 = falsch;
    },
}

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Vue ruft die PC-Kamera auf, um die Fotofunktion zu realisieren
  • Vue ruft die Computerkamera auf, um die Fotofunktion zu realisieren
  • Vue ruft die lokale Kamera auf, um die Fotofunktion zu realisieren
  • Beispielcode für Live-Video der Vue Yingshi-Kamera
  • Vue2.0 implementiert die Funktion zum Aufrufen der Kamera zum Aufnehmen von Bildern, und exif.js implementiert die Funktion zum Hochladen von Bildern
  • Vue implementiert den Anruf der PC-Kamera, um Fotos in Echtzeit aufzunehmen

<<:  So konfigurieren Sie MGR Single Master und mehrere Slaves in MySQL 8.0.15

>>:  Detaillierte Bereitstellung von Docker+Gitlab+Gitlab-Runner

Artikel empfehlen

Ideen zum Erstellen von Welleneffekten mit CSS

Zuvor habe ich mehrere Möglichkeiten vorgestellt,...

Fügen Sie Linux eine Startmethode hinzu (Dienst/Skript)

Konfigurationsdatei, die beim Systemstart geladen...

Häufig verwendete HTML-Meta-Enzyklopädie (empfohlen)

Der Meta-Tag ist ein Hilfstag im Head-Bereich der...

Beispielcode zum Zeichnen von Doppelpfeilen in gängigen CSS-Stilen

1. Mehrere Aufrufe eines einzelnen Pfeils Sobald ...

So erstellen Sie PHP7 mit einem benutzerdefinierten Docker-Image

Führen Sie zunächst eine einfache Docker-Installa...

So beheben Sie den abnormalen Fehler ERROR: 2002 in MySQL

Kürzlich ist beim Starten von MySQL ein Fehler au...