博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ng-cordova 手机拍照或从相册选择图片
阅读量:7235 次
发布时间:2019-06-29

本文共 2345 字,大约阅读时间需要 7 分钟。

1、需求描述

  实现一个调用摄像头拍照,或者直接打开本地图库选择照片,然后替换App中图片的功能

2、准备

  1) 安装ng-cordova

    进入到ionic工程目录,使用bower工具安装,

    bower install ngCordova 

    然后将ng-cordova.js 或者 ng-cordova.min.js 添加到index.html 中的 cordova.js 引用之前

    ...

    <script src="lib/ngCordova/dist/ng-cordova.js"></script>

    <script src="lib/cordova.js></script>

    ...

    在angular中添加ngCordova依赖

       angular.module('myApp',['ngCordova'])

  2) 安装 $cordovaCamera

    cordova plugin add cordova-plugin-camera  

    在controller中添加依赖

    .controller('appControl',['$cordovaCamera']){

      ...

    }

  3)安装$cordovaImagePicker

    cordova plugin add cordova-plugin-image-picker      

    在controller中添加依赖

    .controller('appControl',['$cordovaImagePicker']){

      ...

    }

3、代码实现

  

1 ("deviceready",function(){ 2   //拍照 3   var options={ 4     quality:50,                                       //保存图像的质量,范围0-100 5     destinationType:Camera.DestinationType.DATA_URL,  //返回值格式:DATA_URL=0,返回作为base64编码字符串;FILE_URL=1,返回图像的URL;NATIVE_RUL=2,返回图像本机URL 6     sourceType:Camera.PictureSourceType.CAMERA,       //设置图片来源:PHOTOLIBRARY=0,相机拍照=1, 7     allowEdit:true,                                   //选择图片前是否允许编辑 8     encodingType:Camera.EncodingType.JPEG,            //JPEN = 0,PNG = 1 9     targetWidth:100,                                  //缩放图像的宽度(像素)10     targetHeight:100,                                 //缩放图像的高度(像素)11     popoverOptions:CameraPopoverOptions,              //ios,iPad弹出位置12     saveToPhotoAlbum:true,                            //是否保存到相册13     correctOrientation:true                           //设置摄像机拍摄的图像是否为正确的方向14   };15   $cordovaCamera.getPicture(options).then(function(imageData){16     $scope.imageSrc="data:image/jpeg;base64,"+imageData;17   },function(err){18     //error19   });20 },false);
1 document.addEventListener("deviceready",function(){ 2   var options = { 3     maximumImagesCount: 10, //最大选择图片数量 4     width: 800,             //筛选宽度:如果宽度为0,返回所有尺寸的图片 5     height: 800,            //筛选高度:如果高度为0,返回所有尺寸的图片 6     quality: 80             //图像质量的大小,默认为100 7   }; 8   $cordovaImagePicker.getPictures(options).then(function (results) { 9     for (var i = 0; i < results.length; i++) {10       alert('Image URI: ' + results[i]);11     }12   },function(error) {13     // error getting photos14   });15 },false);

 

转载于:https://www.cnblogs.com/wfblogs/p/5810254.html

你可能感兴趣的文章
【配置文件】什么是log4j.properties 怎么配置
查看>>
在linux下使用wc来统计文件行数
查看>>
尚学堂java相关
查看>>
在些时候,放弃治疗或许是最好的选择
查看>>
ASP.NET MVC文章附加有源码下载的文章
查看>>
省时的浏览器同步测试工具 browsersync NodeJS
查看>>
Java数据库连接——JDBC调用存储过程,事务管理和高级应用
查看>>
如何取消Excel中的自动超链接
查看>>
随机森林——Random Forests
查看>>
如何使用Git上传项目代码到代码服务器
查看>>
操作系统核心简介
查看>>
33:计算分数加减表达式的值
查看>>
Linq中的连接(join)
查看>>
Java nio 概述
查看>>
Mysql写入中文出错
查看>>
2.2.5 因子的使用
查看>>
idea 提交代码时提示 please tell me who you are .......
查看>>
【UWP】使用 Rx 改善 AutoSuggestBox
查看>>
潮汕七样羹之情
查看>>
一起谈.NET技术,ASP.NET MVC 2中使用jQuery UI控件详解
查看>>