- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android照相机软件
软件需求分析
如今很多科技进步更新很快,也给人们带来了方便,手机的功能越来越强大,人们对手机的需求早已不是基本的打电话和发短信,人们更多的是希望手?机能像电脑一样方便,所以智能手机渐渐成为人们选择的目标。其中Android照相机的种类也越来越多。设计Android照相机首先要对照相机的各种性能有一定的了解,要知道一个Android照相机都包含哪些必备的东西,在大脑里形成一定的脉络。
在没有硬件的情况下可以在虚拟机里创建开发环境和测试。Eclipse就是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。
基于Android的笑脸识别照相机和普通照相机有大部分的性能是一样的,都需要进行对主界面的设置,相机焦距的自动调节,配置相机特性的参数,保存图片等等。不同的在于,笑脸识别照相机是一款手机处在拍摄界面时通过被拍摄人是否微笑来感应从而实现拍照功能,即先轻敲摄像头按钮,当被拍人物微笑就会时自动拍照。
软件总体设计
2.1过程设计
(1)主界面:全屏,半透明;
(2)轻敲摄像头按钮,当被拍人物微笑时自动拍照;
(3)图片被点击触发的时间;
(4)拍摄的图片的预览设置:预览大小,设置Surface分辨率;
(5)图片保存和保存拍摄图片后还需要配置相机特性的参数,设置保存的图片尺寸以及设置图片质量;
(6)拍摄效果:反光,黑白等;
(7)写相应的数据权限。
2.2拍摄流程图
主界面
主界面
笑脸感应拍摄
相机自动焦距
保存图片
开启相机
拍摄图片预览
退出
屏幕常亮
放弃拍摄
返回拍摄主界面
2.2拍摄流程图
关键技术分析
设计Android照相机过程一些可能需要用到的函数:
创建一个Activity?
用来标识请求照相功能。activity在创建的时候回调的函数主要用来初始化一些变量。
SurfaceHolder.Callback接口:?
SurfaceHolder.Callback是用于接受发生在SurfaceView中变化的信息?SurfaceHolder.Callback?实现三个函数:?surfaceChanged?
当surface的大小或是尺寸变化的时候调用?surfaceCreated?;
当surface被创建时调用?surfaceDestroyed;?
当surface被毁坏时调用。
SurfaceView
控件显示照相机中的预览效果。
(3)屏幕显示设为半透明,全屏,没有标题:
setContentView(R.layout.main?);?
mSurfaceView?=?(SurfaceView)?findViewById(R.id.surface_camera)。
(4)surfaceHolder
surfaceHolder用来控制SurfaceView,它是系统提供的一个用来设置surfaceView的一个对象,而它通过 surfaceView.getHolder()这个方法来获得。
而Camera提供一个 setPreviewDisplay(SurfaceHolder)的方法来连接surfaceHolder,并通过来它控制surfaceView。
(5)startPreview()和stopPreview()
开启和关闭预览。
(6)Camera.open()
这是个静态方法,如果相机没有别人用着,则会返回一个相机引用,如果被人用着,则会抛出异常。
(7)SurfaceHolder.Callback
这是个holder用来显示surfaceView 数据的接口,他分别必须实现3个方法:
surfaceCreated()这个方法是surface 被创建后调用的;
surfaceChanged()这个方法是当surfaceView发生改变后调用的;
surfaceDestroyed()这个是当surfaceView销毁时调用的。
surfaceHolde通过addCallBack()方法将响应的接口绑定到他身上。surfaceHolder还必须设定一个setType()方法。
(8)MySurfaceView类
它继承于SurfaceView,并在里面实现了照相机的预览功能.
(9)camera.tackPiture()
camera.tackPiture()这个方法是用来实现拍照功能,这个方法有三个参数:ShutterCallBack shutter,PictureCallBack raw和PictureCallBack jpeg。
(10
您可能关注的文档
- 2016中考语文 第三篇 现代文阅读 文学类作品阅读 专题一 散文阅读(六)练习课件.ppt
- 2016中考语文模试题及答案解析(八).doc
- 2016_2017学年高中政治262在实践中追求和发展真理课件.ppt
- 2016_2017学年高中政治第四单元认识社会与价值选择单元主干知识课件.ppt
- 2016两会媒体表现.pptx
- 2016人力资源业毕业论文完整版.doc
- 2016九年级化学下册 第十单元 课题2 第1课时 中和反应及其在实际中的应用课件 新人教版.ppt
- 2016《文化在交流中传播》课件.ppt
- 2016九年级物理全册 专题5 信息与能源在中考中的热点扫描课件 (新版)新人教版.ppt
- 2016_2017学年高中政治3102创新是民族进步的灵魂课件.ppt
最近下载
- Android Studio系列教程2--基本设置与运行.pdf VIP
- 《光伏施工质量管理制度》.docx VIP
- 妇产科手术分级目录.pdf VIP
- VW 01110-3-2020-螺纹连接第三部分:监视连续旋转驱动工具的参数设置系统(中文).pdf VIP
- 原子、分子、离子和元素的相互关系.ppt VIP
- 桂林理工大学 856材料科学基础 2015-2021年考研专业课历年真题.pdf VIP
- 4区块链原理与技术 第四讲 共识算法.pptx VIP
- 国际服务贸易 教学案例(王海文).docx
- 雅马哈CLP785&775&745&735用户使用说明书.pdf
- VW 01110_2_EN-2022 螺纹连接装配和工艺保证.pdf VIP
文档评论(0)