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;

























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