phoneGap相机
来源:互联网 发布:太空工程师要学编程 编辑:程序博客网 时间:2024/04/28 08:51
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,user-scalable=0;" name="viewport"/> <link href="css/jquery.mobile-1.3.2.min.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="../cordova-2.7.0.js"></script> <script src="js/jquery-1.8.2.min.js"></script> <script src="js/jquery.mobile-1.3.2.min.js" type="text/javascript"></script> <style> .select{border:4px #ff0000 solid;} </style> <script type="text/javascript"> $(document).live("pageinit",function(e){ // 设置返回值的格式 $("#pz").live("tap",function(e){//拍照 alert("aaaa"); navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI , sourceType: navigator.camera.PictureSourceType.CAMERA} ); }); $("#sc").live("tap",function(e){//上传 if(photoList.length<=0){ alert("您尚未选择任何图片!"); return false; } alert("上传图片"+photoList); var imageURI=photoList[0]; var options = new FileUploadOptions(); options.fileKey="file"; options.fileName=imageURI.substr(imageURI.lastIndexOf('/')+1); options.mimeType="image/jpeg"; var params = {}; params.value1 = "test"; params.value2 = "param"; options.params = params; var ft = new FileTransfer(); ft.upload(imageURI, encodeURI("http://some.server.com/upload.php"), function(){ console.log("Code = " + r.responseCode); console.log("Response = " + r.response); console.log("Sent = " + r.bytesSent); }, function(error){ alert("An error has occurred: Code = " + error.code); console.log("upload error source " + error.source); console.log("upload error target " + error.target); }, options); }); var photoList=new Array(); //拍照成功的回调 /* //camera的选项: 1----Camera.sourceType:(A CameraPopoverHandle object(照片获取控制参数)) //打开默认的的照相设备,获取一张照片 Camera.sourceType = Camera.PictureSourceType.CAMERA //弹出照片选择框 ,从相册中选取一张图片。 Camera.sourceType = Camera.PictureSourceType.PHOTOLIBRARY Camera.sourceType = Camera.PictureSourceType.SAVEDPHOTOALBUM Camera.PictureSourceType = { //常量 PHOTOLIBRARY : 0, CAMERA : 1, SAVEDPHOTOALBUM : 2 }; 2 ----Camera.DestinationType:(成功回调的返回值得格式设置) Camera.DestinationType= Camera.DestinationType.DATA_URL;// 返回图片的base64编码字符串 Camera.DestinationType= Camera.DestinationType.FILE_URI;// 返回图片文件的URI Camera.DestinationType= Camera.DestinationType.NATIVE_URI;// Return image native URI (eg. assets-library:// on iOS or content:// on Android) Camera.DestinationType = { //常量 DATA_URL : 0, FILE_URI : 1, NATIVE_URI : 2 }; 3 ---- Camera.Direction:选择摄像头(前置(font)/后置())。 Camera.Direction = { BACK : 0, // 后置 FRONT : 1 // 前置 }; 4 ----Camera.MediaType:设置媒体选择的类型。只能当PictureSourceType PHOTOLIBRARY或SAVEDPHOTOALBUM可以使用。 Camera.MediaType = { PICTURE: 0, // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType VIDEO: 1, // allow selection of video only, WILL ALWAYS RETURN FILE_URI ALLMEDIA : 2 // allow selection from all media types } //camera方法: navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] ); 1 cameraSuccess(params):获取成功的回调函数。 //params依赖于cameraOptions的格式化 //params: 1 照片base64编码生成的String, 2 图像文件在本地存储位置的String(默认)。 (你可以做任何你想要的图片或URI编码,例如: <img>标签内显示图片 保存数据到本地(LocalStorage, Lawnchair等) 提交数据到服务器 ) //cameraOptions:自定义相机的设置参数 { quality : 75,//照片质量(0-100) //照片选择返回值的格式.由navigator.camera.DestinationType设定 destinationType : Camera.DestinationType.DATA_URL, //照片获取控制参数 sourceType : Camera.PictureSourceType.CAMERA, //允许简单的图像编辑之前的选择。(boolean) allowEdit : true, //返回的图像文件的编码。navigator.camera中由Camera.EncodingType定义 //Camera.EncodingType = { // JPEG : 0, // Return JPEG encoded image // PNG : 1 // Return PNG encoded image // }; encodingType: Camera.EncodingType.JPEG, //宽度。与targetHeight必须使用长宽比 targetWidth: 100, targetHeight: 100, //设置媒体选择的类型。只能当PictureSourceType PHOTOLIBRARY或SAVEDPHOTOALBUM可以使用。 //Camera.MediaType = { // PICTURE: 0, // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType // VIDEO: 1, // allow selection of video only, WILL ALWAYS RETURN FILE_URI // ALLMEDIA : 2 // allow selection from all media types // } mediaType: Camera.MediaType.PICTURE, //旋转图像捕获设备的正确的方向 correctOrientation: false; //选择摄像头(前置(font)/后置()) //Camera.Direction = { // BACK : 0, // 后置 // FRONT : 1 // 前置 // }; cameraDirection: navigator.camera.Font, //popoverOptions: iOS only options to specify popover location in iPad. Defined in CameraPopoverOptions. popoverOptions: CameraPopoverOptions, //保存到相册 saveToPhotoAlbum: false }; */ function onPhotoURISuccess(imageData) {//获取图片抵制 alert("拍照成功:"+imageData); var currentTime=new Date(); var $li=$("<li><img src='"+imageData+"' title='未选' height='120px' width='120px'/>" +"<h6>拍摄时间:"+currentTime+"</h6></li>"); $("#photoList").append($li); $.mobile.pageContainer.trigger("create"); } $("#photoList").find("img").live("tap",function(){ //图片选中 if($(this).hasClass("select")){ $(this).removeClass("select"); photoList.splice(photoList.indexOf($(this).attr("src")),1); }else{ $(this).css({"border":"4px #ff0000 dashed","title":"已选"}); if(photoList.indexOf($(this).attr("src"))==-1){ photoList.push($(this).attr("src")); } } alert("已选"+photoList.length+"张图片!"); }); //拍照失败的回调 function onFail(message) { alert('拍照失败: ' + message); } }); </script> <style> .a{border: 2px saddlebrown dashed; } </style></head><body><div data-role="page" id="upload"> <div data-role="header" data-position="fixed" data-tap-toggle="false" data-id="myHeader"> <h2>图片上传</h2> <a id="pz" data-role="button" data-mini="true" data-inline="true">拍照</a> <a id="sc" data-role="button" data-mini="true" data-inline="true">上传</a> </div> <div data-role="content"> <ul data-role="listview" id="photoList"> </ul> </div></div></body></html>
0 0
- phoneGap相机
- [应用模板]HTML5+PhoneGap相机拍照
- 美轮美奂的phonegap(三)---调用系统相机
- ios开发之使用phonegap调用本地相机
- PhoneGap
- PhoneGap
- phonegap
- phonegap
- phonegap
- PhoneGap
- PhoneGap
- PhoneGap
- PhoneGap
- phonegap
- phonegap
- phonegap
- PhoneGap
- Phonegap
- VS2010中创建DLL和(动态)调用DLL
- Objective-C 内存管理精髓
- [Leetcode] Spiral Matrix (Java)
- 新勒索软件通过可移动媒体散播
- iOS中“函数式”UIAlertView
- phoneGap相机
- 搜狐微博XAuth使用举例
- mysql grant 命令
- 操作系统OpenSUSE 12.3安装
- POJ-2388-Who's in the Middle
- mysql null 值的判断替换, ifnull函数的应用
- 画面传参时,在新画面得到值总是多一个,
- Oralce的LRU算法
- java 异常处理 黑马程序员学习笔记(6)