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

Detaillierte Erläuterung der MySQL Master-Slave-Datenbankkonstruktionsmethode

Dieser Artikel beschreibt, wie man eine MySQL Mas...

Detailliertes Tutorial zur Installation eines PXC-Clusters mit Docker

Inhaltsverzeichnis Vorwort Vorbereitende Vorberei...

Faint: „Nutzen Sie Web 2.0, um standardkonforme Seiten zu erstellen“

Heute sprach jemand mit mir über ein Website-Entw...

Übersicht über die Unterschiede zwischen Linux TTY/PTS

Wenn wir einen Buchstaben auf der Tastatur eingeb...

Richtige Schritte zur Installation von Nginx unter Linux

Vorwort Wenn Sie wie ich ein fleißiger Java-Backe...

Detaillierte Erklärung des Skript-Debugging-Mechanismus in Bash

Ausführen des Skripts im Debugmodus Sie können da...

Semantik, Schreiben und bewährte Methoden für Link A

Die Semantik, der Schreibstil und die Best Practi...

Detaillierte Erläuterung der bidirektionalen Docker-Netzwerkverbindung

Docker-Netzwerk anzeigen Docker-Netzwerk ls [root...

Implementierung der Formularübermittlung in HTML

Formularübermittlungscode 1. Quellcode-Analyse &l...

Html+CSS-Zeichnungsdreiecksymbol

Schauen wir uns zunächst die Renderings an: XML/H...

Teilen des JS-nativen Quellcodes des Spiels 2048 (das Neueste im Internet)

Ich habe mich kürzlich mit Algorithmen beschäftig...