Vueは携帯電話のカメラとアルバムを呼び出す機能を実装します

Vueは携帯電話のカメラとアルバムを呼び出す機能を実装します

この記事では、携帯電話のカメラとアルバムにアクセスするためのVueの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

携帯電話で写真やアルバムを撮るネイティブな方法についての私の要約

HTMLコード

<div>
//表示する画像 <div class="imgBox name">
      <img :src="imgSrc" />
  </div>
  <バンアクションシート v-model="show1">
   <ul>
    <li class="paizhao" @click="captureImage()">写真を撮る</li>
    <li class="paizhao" @click="galleryImg()">アルバムから選択</li>
    <li class="paizhao" @click="quxiao()">キャンセル</li>
   </ul>
  </バンアクションシート> 
</div>

js ロジックコード

//data() で宣言された変数 {
戻る {
 imgSrc: "", // 表示される画像パス tupianlist: "", // 表示される画像コンテナ }
}

メソッドのイベントメソッドでイベント名を定義します

メソッド: {
     // アルバムから画像を選択する galleryImg() {
      これを = this とします。
      console.log("アルバムから写真を選択してください:");
      plus.gallery.pick(function(path) {
        This.imgSrc = path; //path はローカルパスです let img = new Image();
        img.src = パス;
        img.onload = 関数(パス) {
          var that = img;
          var w = that.width, //320
            h = その高さ、//426
            スケール = w / h;
          w = 320 || w;
          h = w / スケール;
          var キャンバス = document.createElement("キャンバス");
          canvas.width = 300; //この設定は失われません。失われると、キャンバスのデフォルト サイズ 300*150 になります。 canvas.height = 300; //この設定は失われません。失われると、キャンバスのデフォルト サイズ 300*150 になります。 var ctx = canvas.getContext("2d");
          ctx.drawImage(0, 0, 300, 300);
          var base64 = キャンバス.toDataURL(
            "画像/png",
            「画像/jpeg」、
            "画像/jpg",
            1 || 0.8
          );     
          this.tupianlist = base64; です。
          // console.log(This.tupianlist + "私はトランスコードされたベースです");
 
  //ここでインターフェースをリクエストできます};
      });
    },
    // 写真を撮る captureImage() {
      これを = this とします。
      var cmr = plus.camera.getCamera(); //カメラ管理オブジェクトを取得します。 var res = cmr.supportedImageResolutions[0]; //文字列配列、カメラがサポートする解像度 var fmt = cmr.supportedImageFormats[0]; //文字列配列、カメラがサポートするファイル形式 // console.log("写真解像度: " + res + "、写真ファイル形式: " + fmt);
      cmr.キャプチャ画像(
        関数(パス) {
          plus.gallery.save(パス、パラメータ => {
            ファイルに params.file を設定します。
            //base64としてエンコード
            var img = 新しい画像();
            img.src = ファイル;
            img.onload = 関数() {
              var that = img;
              var w = that.width,
                h = その高さ、
                スケール = w / h;
              w = 320 || w;
              h = w / スケール;
              var キャンバス = document.createElement("キャンバス");
              canvas.width = 300; //この設定は失われません。失われると、キャンバスのデフォルト サイズ 300*150 になります。 canvas.height = 300; //この設定は失われません。失われると、キャンバスのデフォルト サイズ 300*150 になります。 var ctx = canvas.getContext("2d");
              ctx.drawImage(0, 0, 300, 300);
              var base64 = キャンバス.toDataURL(
                "画像/png",
                「画像/jpeg」、
                "画像/jpg",
                1 || 0.8
              );
              // コンソールログ(base64);
              this.tupianlist = base64; です。
  //ここでインターフェースをリクエストできます};
          });
          //写真撮影操作を実行する// URLパラメータを介してディレクトリオブジェクトまたはファイルオブジェクトを取得する plus.io.resolveLocalFileSystemURL(path, function(entry) {
            var tmpPath = entry.toLocalURL(); // ディレクトリ パスを取得し、ローカル パスの URL アドレスに変換します。This.imgSrc = tmpPath;
            // alert("撮影成功: " + tmpPath);
          });
        },
        関数(エラー){
          // イメージキャプチャが失敗したときのコールバック // alert("イメージキャプチャに失敗しました: " + error.message);
        },
        { 解像度: res、フォーマット: fmt }
      );
      this.show1 = false;
    },
}

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • VueはPCカメラを呼び出して写真機能を実現します
  • Vueはコンピュータカメラを呼び出して写真機能を実現します
  • Vueはローカルカメラを呼び出して写真機能を実現します
  • Vue Yingshi カメラライブビデオのサンプルコード
  • Vue2.0はカメラを呼び出して写真を撮る機能を実装し、exif.jsは写真アップロード機能を実装します。
  • Vue は PC カメラを呼び出してリアルタイムで写真を撮る機能を実装します

<<:  MySQL 8.0.15 で MGR シングル マスターと複数スレーブを構成する方法

>>:  docker+gitlab+gitlab-runnerの詳細なデプロイメント

推薦する

CSS のサイズと幅と高さのブラウザ解釈の違いに対する解決策

まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...

アイデアをDockerに接続してワンクリックでデプロイする方法

1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docke...

VMwareがwin10ホームバージョンに64ビットオペレーティングシステムをインストールできない問題を解決します

問題の説明VMware Workstationが新しい仮想マシンを作成し、64ビットオペレーティング...

Vue-Jest自動テストの基本構成の詳しい説明

目次インストール構成よくある間違い事前テスト作業依存関係の扱いインスタンスとDOMを生成する要約する...

MySQL 8.0.15 winx64 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.15 winx64 圧縮パッケージのインストールと設定方法を参考ま...

IE6では画像要素imgに余分な空白スペースがある

ページの DIV+CSS レイアウトを行う際、IE6 で画像要素 img の下に余分なスペースができ...

vite を使用して vue3 アプリケーションを構築する方法

1. インストールヒント: 現在、VUE3.0 の公式翻訳ドキュメントはありません。しかし、すでに誰...

vuex での mapState の考え方の応用

目次1. マップ方式2. 応用背景:需要開発プロセス中に、一部のインターフェースは、ページに表示する...

JavaScript リフレクション学習のヒント

目次1. はじめに2. インターフェース3. 簡単な例4. 結論1. はじめにMDN の公式 Web...

MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法

目次MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法1. 非同...

MySQL 5.7.18 インストーラーのインストール ダウンロード グラフィック チュートリアル

この記事では、MySQL 5.7.18インストーラーの詳細なインストールチュートリアルを参考までに記...

Dockerコンテナでの静的ウェブサイトレイアウトの実装

サーバーの配置数日間無料で使用できるクラウドサーバー(Alibaba Cloud、Huawei Cl...

MySql カンマ連結文字列クエリの 2 つの方法

次の2つの関数は、 FIND_IN_SETと同じように使用されます。使用する場合、 FIND_IN_...

ブラウザがクロージャをどのように認識するかについて詳しく説明します

目次序文クロージャの紹介メモリのゴミを識別する方法クロージャのメモリ表現結論序文クロージャは、Jav...

WindowsでのMySQLインストールチュートリアルの詳細な紹介

目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...