今天用了phoneGap的camera功能,操作很简单,下面记录操作步骤,方便以后查看,详细解说可以参考官网api,
地址为:http://docs.phonegap.com/en/2.3.0/cordova_camera_camera.md.html#Camera
1、创建项目,这项目叫cameraTest;
2、修改config.xml文件:
在<plugins></plugins>之间看下是否有下面配置参数信息,如有则OK,没有需要加上
<plugin name="Compass" value="CDVLocation" />
3、编写代码:
在index.html下面写入如下代码
<!DOCTYPE html>
<html>
<head>
<title>Capture Photo</title>
<script type="text/javascript" charset="utf-8" src="js/cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
<!DOCTYPE html>
<html>
<head>
<title>Capture Photo</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" charset="utf-8" src="cordova-2.3.0.js"></script>
<script type="text/javascript" charset="utf-8">
var pictureSource; //图片来源
var destinationType; //返回的图片数据格式
document.addEventListener("deviceready",onDeviceReady,false);
// 设备初始化之后调用
function onDeviceReady() {
pictureSource=navigator.camera.PictureSourceType;
destinationType=navigator.camera.DestinationType;
}
//拍照之后成功调用方法
function onPhotoDataSuccess(imageData) {
var smallImage = document.getElementById('smallImage');
smallImage.style.display = 'block';
//显示拍摄的照片
smallImage.src = "data:image/jpeg;base64," + imageData;
}
//从相册中选择照片成功之后调用方法
function onPhotoURISuccess(imageURI) {
var largeImage = document.getElementById('largeImage');
largeImage.style.display = 'block';
largeImage.src = imageURI;
}
//获取拍照照片
function capturePhoto() {
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 50,
destinationType: destinationType.DATA_URL });
}
//获取拍照照片,可以对其进行编辑
function capturePhotoEdit() {
navigator.camera.getPicture(onPhotoDataSuccess, onFail, { quality: 20, allowEdit: true,
destinationType: destinationType.DATA_URL });
}
//从相册中获取照片
function getPhoto(source) {
navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50,
destinationType: destinationType.FILE_URI,
sourceType: source });
}
//拍照取消或者拍照失败调用函数
function onFail(message) {
alert('Failed because: ' + message);
}
</script>
</head>
<body>
<button onclick="capturePhoto();">只获取拍照图片</button> <br><br><br>
<button onclick="capturePhotoEdit();">获取拍照图片并且可以编辑</button><br><br> <br>
<button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">从相册中获取照片</button><br><br><br>
<button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">从拍摄的照片中获取照片</button><br><br><br>
<img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
<img style="display:none;" id="largeImage" src="" />
</body>
</html>
</script>
</head>
<body>
<button onclick="capturePhoto();">Capture Photo</button> <br>
<button onclick="capturePhotoEdit();">Capture Editable Photo</button> <br>
<button onclick="getPhoto(pictureSource.PHOTOLIBRARY);">From Photo Library</button><br>
<button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);">From Photo Album</button><br>
<img style="display:none;width:60px;height:60px;" id="smallImage" src="" />
<img style="display:none;" id="largeImage" src="" />
</body>
</html>
下面对涉及到的一些参数信息做一些备注
1、cameraOptions
quality:存储图像的质量,范围是[0,100]。(数字类型)
destinationType:选择返回数据的格式。通过navigator.camera.DestinationType进行定义。(数字类型)
Camera.DestinationType = {
DATA_URL : 0, //返回Base64编码字符串的图像数据
FILE_URI : 1 //返回图像文件的URI
}
2、sourceType:设定图片来源。
通过nagivator.camera.PictureSourceType进行定义。(数字类型)
Camera.PictureSourceType = {
PHOTOLIBRARY : 0, //来源相册
CAMERA : 1, //默认,来源相机
SAVEDPHOTOALBUM : 2 //来源拍摄的照片
}
3、allowEdit:
在选择图片进行操作之前允许对其进行简单编辑。(布尔类型)
4、EncodingType:
选择返回图像文件的编码方式,通过navigator.camera.EncodingType进行定义。(数字类型)
Camera.EncodingType = {
JPEG : 0, // 返回JPEG格式图片
PNG : 1 // 返回PNG格式图片
};
5、camera.cleanup
清空使用摄像头拍照时候产生的缓存文件.
当我们使用如下参数的时候会产生临时文件
Camera.sourceType = Camera.PictureSourceType.CAMERA and Camera.destinationType = Camera.DestinationType.FILE_URI
通过调用下列方法清除缓存
navigator.camera.cleanup( cameraSuccess, cameraError );
可以自定义cameraSuccess,cameraError 进行相关的操作
分享到:
相关推荐
PhoneGap html5 拍照上传DEMO
自己写的一个PhoneGap Camera插件调用 Demo,实现拍照/图库获取图片功能,编译通过~~~具体实现我博客里面有
PhoneGap API 帮助文档,加速度计、相机、捕捉、指南针、设备、通讯录、消息、文件、定位、媒体
第7章:使用PhoneGap 167访问设备传感器 什么是设备的传感器? 168 时间f或行动 - 明信片作家169 PhoneGap v ersus HTML5的177 其他地理定位数据178 加速度计数据179 时间F或行动 - 检测甩头179 设备的方向和装置的...
##PhoneGap (Apache Cordova) API 借助 ahome-phonegap 中的 phonegap(Cordova) API,向基于 Web 的移动应用程序添加本机功能。 ahome-phonegap 的 PhoneGap 支持让您可以访问以下原生 API 加速度计 相机 罗盘 ...
它们通过将Web内容嵌入原生容器中,并提供对设备功能的访问(如相机、地理位置等),从而使得开发者可以使用熟悉的Web技术来构建跨平台的移动应用程序。 这本书可能会介绍如何设置开发环境、构建基本的iOS应用程序...
除了这些卖点以外,它的功能比原始相机插件要少得多 如何安装 cordova plugin add https://github.com/raphv/cordova-media-central.git 如何使用它 “ onimageloaded”回调 该插件的原理是,所有视频或图像文件都...
在 Web 内容管理系统中,系统的目的是让您专注于内容,最终前端由浏览器呈现。 Shovel 应用 CMS使您可以轻松地从 HTML 模板开始创建混合应用程序并自行编辑内容,而无需为自己安装整个 Phonegap 环境。 完成应用...
植物日记 用于跟踪植物的移动跨平台应用程序.. 版本:1.0。 主题 Interfaces ... 相机功能,让用户可以点击精彩的绿色植物图片。 编程语言。 PhoneGap 是 Nitobi 出品的移动开发框架,2011 年被 Adobe Syste
允许您将WordPress网站用作应用程序,包括对设备功能(如相机,联系人等)的访问。 您可以使用主题,插件和所有您已经知道的东西,完全在WordPress中创建您的应用程序。 开发人员可以使用此插件制作自定义应用或...
1)是否可以使用相机等功能? 2)Titanium 社区(与 Sencha Touch 相比,它很快就显得有限)? 3) 通过 Titanium 在所有平台之间共享的代码百分比? 4)专业版的价格? 其他人通过表格询问: 5) 可以在linux下...
尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得东南大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已...
以及一些特定功能如 二维码 条纹码的生成和扫描,GPS定位,wifi定位,基站定位 和外部系统交互的方式如WEBSERICE,HTTP等 基于混合模式开发的采用phonegap开发,如照相机调用,数据库操作,地图的调用等等 我对这个还...
移动VIN扫描器SDK使开发人员可以将VIN扫描功能快速嵌入其iOS,Android和PhoneGap驱动的应用程序中。 为什么我们创建SDK? 好吧,我们需要适用于iOS和Android的优质快速VIN扫描仪。 尽管市场上有一些开源库,例如...
PhoneGap近年已逐渐成为默认的嫁接层选择,它允许HTML5应用通过JavaScript调用移动设备的照相机、访问手机通讯录和读写文件。而最受欢迎的手机UI库就包括由jQuery Mobile和Sencha Touch。 html5的安全性问题 五种...
物联网本机应用程序使用的常见技术蓝牙(Bluetooth / BLE) 局域网(Wi-Fi,zeroconf) 声音(麦克风) 视频(相机) 云本机应用程序与跨平台应用程序本机应用优点以上通用接口的官方支持访问所有可用功能本机性能...
包含功能: 登录/注册。 Diplay产品可以将产品添加到购物车。 在购物车中,它显示总价格和产品。 通过相机或文件管理器上传个人资料。 个人资料图片可以在whatapp,fb,instagram和Twitter等社交媒体平台上共享...