此插件用于拍攝照片或使用圖像庫中的文件。
在命令提示符窗口中運行以下代碼以安裝此插件。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-camera
在此步驟中,我們將創(chuàng)建用于調(diào)用攝像頭的按鈕和在拍攝后將顯示圖像的 img 。將其添加到 div.html = 元素中的 index.html 。
<button id = "cameraTakePicture">TAKE PICTURE</button> <img id = "myImage"></img>
事件偵聽器添加到 onDeviceReady 函數(shù)中,以確保Cordova在我們開始使用它之前加載。
document.getElementById("cameraTakePicture").addEventListener ("click", cameraTakePicture);
我們正在創(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ā)。
當我們拍攝和保存圖片時,它將顯示在屏幕上。
相同的過程可以用于從本地文件系統(tǒng)獲取圖像。 唯一的區(qū)別是在最后一步創(chuàng)建的函數(shù)。 您可以看到已添加 sourceType 可選參數(shù)。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugin-camera
<button id = "cameraGetPicture">GET PICTURE</button>
document.getElementById("cameraGetPicture").addEventListener("click", cameraGetPicture);
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)將打開而不是相機,所以我們可以選擇我們想要顯示的圖像。
這個插件提供了許多可選的參數(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 |
更多建議: