phonegap-詳解navigator.camera.getPicture





實例


如下便是一個簡單的從相冊獲取圖片的函數

function picture_getPicture(cameraOption){//獲取圖片
    var quality=cameraOption.quality|50;//圖像質量
    var destinationType=cameraOption.destinationType|Camera.DestinationType.FILE_URI;//編碼類型
    var sourceType=cameraOption.sourceType|Camera.DestinationType.SAVEDPHOTOALBUM;//獲取路徑

    navigator.camera.getPicture(getpicture_success, getpicture_Error,
    {quality:quality, //圖像質量
        destinationType:destinationType,//編碼類型
        sourceType:sourceType//獲取路徑
    });
}
//--------------------------成功獲取圖片的回調函數---------------------------------------------
    function getpicture_success(imageURI) {
     //----------------------------顯示圖片,在不同的JS環境下,顯示的方式不同----------------
          var app=getDefaultApp().diagramView;//找到main圖紙
          var vi= Utility.getVIByVIID(app,"d_photo");//找到VI
          vi.setValue('image',imageURI);
     //-------------------------------------------------------------------------
          alert('圖片設置成功'); 
    }
//--------------------------獲取圖片失敗的回調函數 ---------------------------------------------
    function getpicture_Error(message) {
         alert('獲取圖片失敗');
    }
//-------------------------------------------------------------------------


Camera類


Camera類是PhoneGap照相機插件公開的一個類
使用該類可以從照相機或相冊獲取圖片
可以使用如下方式安裝照相機插件
phonegap plugin add org.apache.cordova.camera

使用navigator.camera可以返回一個Camera類的實例
用於獲取圖片的getPicture()便是Camera的一個方法


通過getPicture獲取圖片


獲取圖片的語法格式如下
navigator.camera.getPicture(onSuccess,onError,[cameraOptions]);

參數onSuccess是 執行成功後的回調函數
參數onError是執行失敗後的回調函數
參數cameraOption可選,是一個對象,下面會詳細講述


cameraOption常用屬性


{
quality:75,
destinationType:Camera.DestinationType.DATA_URL,
allowEdit:true,
encodingType:Camera.EncodingType.JPEG,
targetWidth:100,
targetHeight:100,
saveToPhotoAlbum:false
}


  • quality
          定義保存圖片的質量,取值範圍爲[0,100],100表示質量最高
  • destinationType
          選擇返回數據的格式,取值爲三個常量之一
               Camera.DestinationType.DATA_URL//表示返回圖片作爲base64編碼
               Camera.DestinationType.FILE_URI//表示返回圖片作爲文件URI
               Camera.DestinationType.NATIVE_URI//表示返回圖片作爲文件URI
  • allowEdit:true
          設置在選擇圖片進行操作之前是否對其進行簡單的編輯(Android系統會忽略此屬性)
  • encodingType
          用於設置返回文件的類型,有一下幾個常量可用
               Camera.EncodingType={
                    JPEG:0,                         //表示返回JPEG編碼的圖片
                    PNG:1                          //表示返回PNG編碼的圖片
               }
  • targetWidth
          用於定義縮放圖片的寬度,以像素爲單位。必須和targetHeight配合使用
  • targetHeight
          用於定義縮放圖片的高度,以像素爲單位。必須和targetWidth 配合使用
  • saveToPhotoAlbum
          用於決定是否在捕捉圖片之後放入相冊



圖片顯示


可以在成功獲取圖片回調函數中這樣寫

function onSuccess(imageURI){
     var image=document.getElementById('myImage');//你必須確保你的HTML中存在ID爲myImage的DOM節點
     image.src=imageURI;

























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章