ionic项目之ngcordova插件之camera

本文介绍了如何利用ngCordova插件实现移动端应用中的拍照功能。详细讲述了两种获取照片的方法:一是通过DataURL获取Base64编码的照片数据;二是通过FILE_URI获取照片文件的实际存储路径。并分享了实践过程中遇到的问题及解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


https://github.com/driftyco/ng-cordova

http://ngcordova.com/docs/plugins/camera/

官方解释是既可以用来拍照也可以录视频(只试用了拍照功能)


首先,装插件  cordova plugin add org.apache.cordova.camera

然后,如果之前配置过ngcordova的话,就直接在控制器加上$cordovaCamera就好了


有两种方法获取拍照得到的图片

1,拍照返回64位的图片数据(destinationType: Camera.DestinationType.DATA_URL)

2,拍照返回图片文件的实际存储地址(destinationType: Camera.DestinationType.FILE_URI)


1,拍照返回64位的图片数据(成功了,可是图片数据即使100%的质量也很不清晰)

[javascript]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. var options = {  
  2.       quality: 50,  
  3.       destinationType: Camera.DestinationType.DATA_URL,  
  4.       sourceType: Camera.PictureSourceType.CAMERA,  
  5.       allowEdit: true,  
  6.       encodingType: Camera.EncodingType.JPEG,  
  7.       targetWidth: 100,  
  8.       targetHeight: 100,  
  9.       popoverOptions: CameraPopoverOptions,  
  10.       saveToPhotoAlbum: false  
  11.     };  
  12.   
  13.     $cordovaCamera.getPicture(options).then(function(imageData) {  
  14.       var image = document.getElementById('myImage');  
  15.       image.src = "data:image/jpeg;base64," + imageData;  
  16.     }, function(err) {  
  17.       // error  
  18.     });  

2,拍照返回图片文件的实际存储地址(实验不成功,暂没找到问题)

[javascript]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. var options = {  
  2.       destinationType: Camera.DestinationType.FILE_URI,  
  3.       sourceType: Camera.PictureSourceType.CAMERA,  
  4.     };  
  5.   
  6.     $cordovaCamera.getPicture(options).then(function(imageURI) {  
  7.       var image = document.getElementById('myImage');  
  8.       image.src = imageURI;  
  9.     }, function(err) {  
  10.       // error  
  11.     });  
  12.   
  13.   
  14.     $cordovaCamera.cleanup().then(...); // only for FILE_URI  

把这句话去了就正常了(暂时没看到这句话有什么影响) $cordovaCamera.cleanup().then(...); // only for FILE_URI
   返回的图片地址信息为(file:///storage/emulated/0/DCIM/Camera/pic.jpg) 与选取图片文件插件方法返回的图片地址(data/data下) 不一样
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值