この記事では、携帯電話のカメラとアルバムにアクセスするための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.15 で MGR シングル マスターと複数スレーブを構成する方法
>>: docker+gitlab+gitlab-runnerの詳細なデプロイメント
まずは例を見てみましょうコードをコピーコードは次のとおりです。 <!DOCTYPE html ...
1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docke...
問題の説明VMware Workstationが新しい仮想マシンを作成し、64ビットオペレーティング...
目次インストール構成よくある間違い事前テスト作業依存関係の扱いインスタンスとDOMを生成する要約する...
この記事では、MySQL 8.0.15 winx64 圧縮パッケージのインストールと設定方法を参考ま...
ページの DIV+CSS レイアウトを行う際、IE6 で画像要素 img の下に余分なスペースができ...
1. インストールヒント: 現在、VUE3.0 の公式翻訳ドキュメントはありません。しかし、すでに誰...
目次1. マップ方式2. 応用背景:需要開発プロセス中に、一部のインターフェースは、ページに表示する...
目次1. はじめに2. インターフェース3. 簡単な例4. 結論1. はじめにMDN の公式 Web...
目次MySQL マスター スレーブ データベースが同期されない問題を解決する 2 つの方法1. 非同...
この記事では、MySQL 5.7.18インストーラーの詳細なインストールチュートリアルを参考までに記...
サーバーの配置数日間無料で使用できるクラウドサーバー(Alibaba Cloud、Huawei Cl...
次の2つの関数は、 FIND_IN_SETと同じように使用されます。使用する場合、 FIND_IN_...
目次序文クロージャの紹介メモリのゴミを識別する方法クロージャのメモリ表現結論序文クロージャは、Jav...
目次1. ダウンロードする前に理解しておくべき概念2. 必要なバージョンを選択する3. MySQLサ...