Android摄像头是全屏预览最简单的方式.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android摄像头是全屏预览最简单的方式

Android Camera做全屏预览之最简单方法 M厂开发五部:刘 博 一、全屏预览与非全屏预览的区别 对于大多数人来说,我们看电影、玩游戏等都喜欢全屏,我们之所以喜欢全屏的一个主要原因就是全屏的感觉比非全屏看起来的感觉爽,因为画面看起来变大了,有些微小的东西也能够看清楚了。即使有时候不能够去全屏欣赏,我们也会尽量去把画面调到最大化去享受。 20世纪80年代到20世纪末,绝大部分人的生活质量都不怎么好,他们看电视都使用的是屏幕25寸以下的黑白电视机或画面不怎么好的彩色电视机,甚至有的家庭都没有电视机。但是随着社会的发展,科技的进步,人们为了追求好的生活质量,我们可以看到当今社会大部分家庭所使用的电视机都是超大屏幕的,屏幕尺寸大到50寸以上,并且流行的电视机都是超大屏幕。因为消费者意识到屏幕大可以带给他们宽阔美好的视觉感。那么我们手机的Camera做全屏预览是否也是因为上述的原因呢? 今天,智能手机深受广大消费者的喜爱,尤其是对于年轻的消费者。Camera是智能手机的亮点之一, Camera做成全屏预览就能够给手机增加亮点。所谓Camera的全屏预览就是Camera的预览界面占据手机的整个屏幕,否则,就是非全屏预览。首先看一下下面两张图片所示的效果: 图1:非全屏预览界面 图2:全屏预览界面 图1和图2分别是非全屏预览Camera和全屏预览Camera去预览同一个界面所显示的不同效果,它们的不同点就在于非全屏预览比全屏预览显示的预览界面小。具体体现在图1和图2的最右侧,非全屏预览图片最右侧看不到Camera的预览界面,而全屏预览图片整个屏幕都可以看得到Camera的预览界面。那么Camera用非全屏预览和全屏预览拍摄出来的照片有区别吗?答案是肯定的,继续使用图1和图2中的预览界面,用非全屏预览和全屏预览拍摄出来的照片如下: 图3:非全屏预览拍摄的照片 图4:全屏预览拍摄的照片 图3和图4分别展示的是用Camera非全屏预览和全屏预览拍摄出来的照片,我们明显可以看出非全屏预览拍摄的照片比全屏预览拍摄的照片短一点。同一个取景画面,同一个手机,唯一不同的就是手机的Camera一个是非全屏预览,一个是全屏预览,这也就是为什么两张照片大小不一样的原因之所在。 二、全屏预览与非全屏预览的本质差异解析 以我们OPPO的11071手机为例,手机的屏幕大小是:480x320。如果我们要去做全屏预览,那么我们至少要保证预览界面的长度大于等于480px,宽度大于等于320px;如果我们不做全屏预览,那么预览界面的长度或者宽度至少有一个是小于手机的对应长度或宽度,我们手机的预览界面实际上是有一部分没有去预览,默认为黑色显示。 图5:全屏预览数据图 图6:非全屏预览数据图 图5表示的效果是一个Camera全屏预览的预览数据图,手机的整个屏幕都会显示预览数据。也就是说,假如手机屏幕上没有任何图标的话,用户可以看到整个手机屏幕都显示的是预览的界面,可以参考图4,它的预览是占满整个手机屏幕的,本质上Camera的预览效果就是图4那样,所以它拍摄出来的照片才会像图4那样。 然而图6则显示的是一个Camera非全屏预览的预览数据图,手机屏幕的左侧大部分会显示预览数据,但手机屏幕右侧的小部分显示的是黑色。为什么会这样呢?因为那些黑色的部分是没有预览数据的,所以才会显示黑色。 图7非全屏预览数据显示效果 图7显示的就是一个屏幕480x320的Camera非全屏预览图,图的右侧显示的黑色。但是可能一个最大的疑问是我们在使用Camera的时候,为什么我们没有看到它显示出来黑色?和图1作对比,如果我们把图1上面的所有按钮UI效果去掉,那么图1的显示效果就和图7一模一样了。可能还有一个疑问是我们既然预览的时候屏幕上有一部分显示的是黑色,为什么我们拍摄出来的照片不显示那些黑色的部分,而是像图3那样?原因很简单,那是因为生成照片是按照预览的数据来生成的,而不是按照手机屏幕的大小去生成照片,因为有预览数据的只是图7中非黑色部分,黑色的那部分没有预览数据,所以生成的照片就不会有黑色那部分。 三、如何去做全屏预览? 如何去做全屏预览呢?很多人可能就说我们把camera.xml中的SurfaceView的android:layout_width属性和android:layout_height属性设置成“match_parent”不就可以了吗?Camera.xml的部分代码如下: ?xml version=1.0 encoding=utf-8? RelativeLayout xmlns:android=/apk/res/android xmlns:camera=/apk/res/com.oppo.ca

您可能关注的文档

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档