Chinaunix首页 | 论坛 | 博客
  • 博客访问: 528712
  • 博文数量: 107
  • 博客积分: 927
  • 博客等级: 大尉
  • 技术积分: 865
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-13 17:50
文章分类

全部博文(107)

文章存档

2014年(2)

2013年(13)

2012年(16)

2011年(76)

分类: Java

2011-12-02 15:59:29

在用SurfaceView 和Camera 做摄像头程序时,常常会遇到一些比较纠结的问题,这里简单描述下:

1、预览取景反转

这种情况,再低版本sdk中,必须设置为横屏模式[android:screenOrientation="landscape"]

2、预览图像被拉伸变形

由于预览大小跟SurfaceView 大小不一致引起,常常需要根据surfaceChanged事件的参数width和height,获取系统支持的所有预览尺寸 [getSupportedPictureSizes],然后再取一个比较接近的尺寸进行设置[setPreviewSize]

3、预览速率

需要先根据[GetSupportedPreviewFrameRates]获取系统支持的,然后,选择一个最低的进行设置[setPreviewFrameRate]即可

4、保存图片反转

在拍照[takePicture]之前,先对rotation进行偏转设置[rotation]

5、设置为横屏模式之后,UI界面怎么伪横竖屏

添加个OrientationEventListener根据获取不同方向,调整UI布局,对于一些比较特殊,不变调整的控件,可以采用播放动画的方式来实现。

目前,我还遇到一个比较纠结的问题,就是保存相片时,stopPreview 和再次startPreview之间,SurfaceView上会显示一个静态的画面,该画面被拉伸,不知什么原因,
阅读(1223) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~