- Cordova 教程
- Cordova - 首頁
- Cordova - 概述
- Cordova - 環境搭建
- Cordova - 第一個應用
- Cordova - Config.xml 檔案
- Cordova - 儲存
- Cordova - 事件
- Cordova - 返回按鈕
- Cordova - Plugman
- Cordova - 電池狀態
- Cordova - 相機
- Cordova - 聯絡人
- Cordova - 裝置
- Cordova - 加速度計
- Cordova - 裝置方向
- Cordova - 對話方塊
- Cordova - 檔案系統
- Cordova - 檔案傳輸
- Cordova - 地理位置
- Cordova - 全球化
- Cordova - InAppBrowser
- Cordova - 媒體
- Cordova - 媒體捕獲
- Cordova - 網路資訊
- Cordova - 閃屏
- Cordova - 振動
- Cordova - 白名單
- Cordova - 最佳實踐
- Cordova 有用資源
- Cordova - 快速指南
- Cordova - 有用資源
- Cordova - 討論
Cordova - 相機
此外掛用於拍攝照片或使用圖片庫中的檔案。
步驟 1 - 安裝相機外掛
在命令提示符視窗中執行以下程式碼以安裝此外掛。
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugincamera
步驟 2 - 新增按鈕和影像
現在,我們將建立一個用於呼叫相機的按鈕和一個img標籤,拍攝的照片將顯示在此處。這將新增到index.html檔案中的div class = "app"元素內。
<button id = "cameraTakePicture">TAKE PICTURE</button> <img id = "myImage"></img>
步驟 3 - 新增事件監聽器
事件監聽器新增到onDeviceReady函式中,以確保在開始使用Cordova之前已載入Cordova。
document.getElementById("cameraTakePicture").addEventListener
("click", cameraTakePicture);
步驟 4 - 新增函式(拍照)
我們將建立cameraTakePicture函式,該函式作為回撥傳遞給我們的事件監聽器。當點選按鈕時,它將被觸發。在此函式中,我們將呼叫外掛 API 提供的navigator.camera全域性物件。如果拍照成功,資料將傳送到onSuccess回撥函式,否則將顯示包含錯誤訊息的警報。我們將把這段程式碼放在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);
}
}
當我們執行應用程式並按下按鈕時,將觸發原生相機。
當我們拍攝並儲存圖片時,它將顯示在螢幕上。
同樣的過程可用於從本地檔案系統獲取影像。唯一的區別是上一步建立的函式。您可以看到已新增sourceType可選引數。
步驟 1 B
C:\Users\username\Desktop\CordovaProject>cordova plugin add cordova-plugincamera
步驟 2 B
<button id = "cameraGetPicture">GET PICTURE</button>
步驟 3 B
document.getElementById("cameraGetPicture").addEventListener("click", cameraGetPicture);
步驟 4 B
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);
}
}
當我們按下第二個按鈕時,將開啟檔案系統而不是相機,以便我們可以選擇要顯示的影像。
此外掛提供許多可選引數用於自定義。
| 序號 | 引數及詳情 |
|---|---|
| 1 | quality 影像質量,範圍為 0-100。預設為 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 上設定彈出視窗位置。 |
| 12 | cameraDirection FRONT 或 0 前置攝像頭。 BACK 或 1 後置攝像頭。 ALLMEDIA |