Cordova 相機

2018-12-28 14:26 更新

此插件用于拍攝照片或使用圖像庫中的文件。

步驟1 - 安裝相機插件

命令提示符窗口中運行以下代碼以安裝此插件。

C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-camera

步驟2 - 添加按鈕和圖像

在此步驟中,我們將創(chuàng)建用于調(diào)用攝像頭的按鈕和在拍攝后將顯示圖像的 img 。將其添加到 div.html = 元素中的 index.html 。

<button id = "cameraTakePicture">TAKE PICTURE</button>
<img id = "myImage"></img>

步驟3 - 添加事件監(jiān)聽器

事件偵聽器添加到 onDeviceReady 函數(shù)中,以確保Cordova在我們開始使用它之前加載。

document.getElementById("cameraTakePicture").addEventListener
   ("click", cameraTakePicture);	

步驟4 - 添加功能(拍照)

我們正在創(chuàng)建 cameraTakePicture 函數(shù),該函數(shù)作為回調(diào)傳遞給我們的事件偵聽器。 當點擊按鈕時,它會被觸發(fā)。在這個函數(shù)中,我們調(diào)用由插件API提供的 navigator.camera 全局對象。如果拍攝成功,數(shù)據(jù)將被發(fā)送到 onSuccess 回調(diào)函數(shù),如果沒有,將顯示帶有錯誤信息的警報。我們將這個代碼放在 index.js 的底部

function cameraTakePicture() {
   navigator.camera.getPicture(onSuccess, onFail, { 
      quality: 50,
      destinationType: Camera.DestinationType.DATA_URL
   });

   function onSuccess(imageData) {
      var image = document.getElementById('myImage');
      image.src = "data:image/jpeg;base64," + imageData;
   }

   function onFail(message) {
      alert('Failed because: ' + message);
   }
}

當我們運行應(yīng)用程序,并按按鈕,本機相機將被觸發(fā)。

Cordova Camera Take Picture

當我們拍攝和保存圖片時,它將顯示在屏幕上。

Cordova Camera Display Image

相同的過程可以用于從本地文件系統(tǒng)獲取圖像。 唯一的區(qū)別是在最后一步創(chuàng)建的函數(shù)。 您可以看到已添加 sourceType 可選參數(shù)。

步驟1

C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-camera

步驟2

<button id = "cameraGetPicture">GET PICTURE</button>

步驟3

document.getElementById("cameraGetPicture").addEventListener("click", cameraGetPicture);

步驟4

function cameraGetPicture() {
   navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
      destinationType: Camera.DestinationType.DATA_URL,
      sourceType: Camera.PictureSourceType.PHOTOLIBRARY
   });

   function onSuccess(imageURL) {
      var image = document.getElementById('myImage');
      image.src = imageURL;
   }

   function onFail(message) {
      alert('Failed because: ' + message);
   }

}

當我們按第二個按鈕時,文件系統(tǒng)將打開而不是相機,所以我們可以選擇我們想要顯示的圖像。

Cordova Camera File System

這個插件提供了許多可選的參數(shù)定制。

序號參數(shù)和描述
1

quality

圖像質(zhì)量在0-100范圍內(nèi)。 默認值為50。

2

destinationType

DATA_URL 0 返回base64編碼字符串。

FILE_URI 1 返回圖片文件URI。

NATIVE_URI 2 返回圖片本機URI。

3

sourceType

PHOTOLIBRARY 0 打開照片庫。

CAMERA 1 打開本機相機。

SAVEDPHOTOALBUM 2 打開已保存的相冊。

4

allowEdit

允許圖像編輯。

5

encodingType

JPEG 0 返回JPEG編碼圖像。

PNG 1 返回PNG編碼圖片。

6

targetWidth

圖片縮放寬度(以像素為單位)。

7

targetHeight

圖片縮放高度(以像素為單位)。

8

mediaType

PICTURE 0 僅允許選擇圖片。

VIDEO 1 僅允許視頻選擇。

ALLMEDIA 2 允許選擇所有媒體類型。

9

correctOrientation

用于校正圖像的方向。

10

saveToPhotoAlbum

用于將圖像保存到相冊。

11

popoverOptions

用于在IOS上設(shè)置popover位置。

12

cameraDirection

FRONT 0 前置攝像頭。

返回 1 后置攝像頭。

ALLMEDIA

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號