Android Camera 正方形预览(一)

来源:互联网 发布:什么叫淘宝刷流量 编辑:程序博客网 时间:2024/06/05 08:13

在最近的Android开发中,需要实现Camera正方形预览,像是iPhone的相机,可以选择方形拍照。本文将针对Android实现正方形预览效果。

1、Camera 预览相关知识点

在原生Android中,可以使用以下语句查看系统支持的Camera预览分辨率:

mParameters = mCamera.getParameters();List<Size> pictureSizeList = mParameters.getSupportedPreviewSizes();

打印出List列表,可以看到支持的预览分辨率。

在这个列表中,可以看出来,Android支持的预览比例都是4:4 或 16:9 的,不支持4:4 的正方形预览。

2、正方形预览实现方式:

通过查阅网上资料,以及项目经验,发现正方形预览的实现方式通常有以下三种:

1、遮盖层,使用一个与背景色相同的View遮盖Camera预览界面,打造出正方形预览的效果
2、使用GLSurfaceView预览,实现数据展示分离。 使用Render对数据裁剪,最终呈现出正方形。
3、直接修改Android系统代码的配置文件,系统级的支持正方形预览。

第一种遮盖层方式课拓展性不高,对于复杂的需求无法满足,我没有去关注。
第二种软件实现的方式比较推荐,通过软件层面实现了正方形预览,而且添加了Render渲染器,可以在后期添加滤镜功能。
第三种方式是最为推荐的,从根本上面解决了问题,但是仅限于ROM开发的公司,无法实现机型适配。

3、软件方式实现正方形预览

本文将首先从第二种方式入手,阐述如何在软件层面实现相机的正方形预览。国际惯例,首先查看一下我的Demo界面:

阅读全文
0 0
原创粉丝点击