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

Ausführliche Erklärung zu MySQL vom Einstieg bis zum Aufgeben - Installation

Was Sie lernen werden 1. Softwareinstallation und...

So schreiben Sie mithilfe von Filtern transparentes CSS für Bilder

So schreiben Sie mithilfe von Filtern transparente...

Detaillierte Erklärung der Fallstricke beim Mischen von npm und cnpm

Inhaltsverzeichnis Ursache Grund Einführung in NP...

Wir zeigen Ihnen einen Trick, um einen Textvergleich unter Linux durchzuführen

Vorwort Während des Schreibens des Codes werden w...

Detaillierte Erklärung des CSS3-Rotationswürfelproblems

3D-Koordinatenkonzept Wenn sich ein Element dreht...

Tipps zur Verwendung von Bildlaufleisten in HTML

Als wir heute das Pressemitteilungssystem von Niu ...

CSS3-Übergang zur Implementierung eines Benachrichtigungsnachrichtenkarussells

Vue-Version, kopiere sie in die Datei und verwend...

Implementierungsschritte zum Erstellen eines lokalen Webservers auf Centos8

1 Übersicht System CentOS8, verwenden Sie httpd, ...

Über nginx zur Implementierung des Jira-Reverse-Proxys

Zusammenfassung: Nginx-Reverse-Proxy für JIRA kon...

Ursachen und Lösungen für die Front-End-Ausnahme 502 Bad Gateway

Inhaltsverzeichnis 502 Bad Gateway Fehlerbildung ...

Vor- und Nachteile von MySQL-Indizes und Richtlinien zum Erstellen von Indizes

1. Warum einen Index erstellen? (Vorteile) Dies l...