android开发——camera类拍照指定图片大小
2015-07-23 12:28
281 查看
android拍照开发
android开发实现拍照功能主要有两种方法:直接调用系统照相机API实现拍照,拍完后,图片会保存在相册中,返回保存照片的路径,从而获取图片。
自己写SurfaceView调用camera来实现拍照,该方法触发一个回调,参数中包含一个图片字节数组,从而获取图片。
问题
当我们自定义相机时,需求需要指定拍照图片大小,然而不同手机会默认返回不同分辨率照片。所以需要对camera进行参数设置。通过设置setPictureSize,代码:
// 获得相机参数 Camera.Parameters parameters = camera.getParameters(); parameters.setPictureSize((480, 360);
结果在P8上,直接运行停止。
方案:
所以不能在camera里给他固定一个特定分辨率大小。Camera.Parameters类的方法getSupportedPictureSizes(),该方法返回一个List,包含所有支持的尺寸。根据取到的值,自己算出最适合自己的尺寸。
List<Size> list = parameters.getSupportedPictureSizes(); Camera.Size size = list.get(0); parameters.setPictureSize(size.width, size.height); camera.setParameters(parameters);
我这里是取list里的第一个,分辨率大小为最小。如果取最大,测试发现拍照速度太慢。
getSupportedPictureSizes()返回的集合是排序的,但升序还是降序,也是根据手机来返回的,所以在处理的时候,不能盲目取第一个元素。大家也可以去中间值等等。
相关文章推荐
- Android studio 编译出现非法字符: \65279解决办法
- GitHub 优秀的 Android 开源项目
- Android Studio 活动的最佳实践 知晓当前是在哪一个活动 随时随地地进入程序 启动活动的最佳写法 第一行代码
- 快捷方式连同程序一起卸载
- GitHub上最火的74个Android开源项目(三)
- GitHub上最火的40个Android开源项目(二)
- GitHub上最火的40个Android开源项目(一)
- androidStudio自动黑盒测试
- Android APK反编译就这么简单 详解
- Android设置EditText中字体颜色不一致以及光标移至到字后边
- android 分享到QQ空间的所有操作
- Android SDK Manager国内下载缓慢的问题
- Android 导入v7包常见错误,以及项目引用v7包错误解决,androidv7
- Android中Toast的用法简 4000 介
- 悬浮窗与Home Back事件
- 还原反编译后AndroidManifest.xml乱码为明文
- 关于android AVD 虚拟机调试出现的问题
- Android luhn算法 银行卡号校验
- Java和Android注释规范
- (转)android 提升性能总结