问题分析:随着用户对于拍照清晰度的需求,android手机对于摄像头也是一升再升,这就导致了作为android开发工程师对于兼容性维护的继续跟进以及问题处理。

针对于自定义相机拍照模糊的问题,经过几天的调试,并且发现问题的根源就在于相机的拍照尺寸设置兼容上面。

关键点在于下面这两行代码

直观的来讲第一个是对于预览清晰度的设置,第二就是对于拍出来的照片的设置。

parameters.setPreviewSize(xx.width, xx.height);

parameters.setPictureSize(xx.width, xxheight);

随着相机硬件的不断升级,从最早的240*480 逐渐到现在 4800*5600等等的高像素摄像头的出现,在低版本手机设置本身的分辨率没有问题,但是在高分辨率手机上设置第分辨率显然是不合适的,这也就是导致问题的所在,因为安卓手机的参差不齐,所以我做了如下的处理来兼容大部分手机,思路如下。

看如下代码:

Camera.Parameters parameters =mCamera.getParameters();

parameters.getSupportedPreviewSizes()

parameters.getSupportedPictureSizes()

通过以上代码可以获取到相机所兼容的分辨率,对于不是专门做相机的应用,我们可以折中设置一下,去中间的属性作为你拍照的分辨率,取最大分辨率作为预览的属性,代码如下

if(parameters.getSupportedPreviewSizes()!=null&¶meters.getSupportedPreviewSizes().size()>0){

parameters.setPreviewSize(parameters.getSupportedPreviewSizes().get(0).width, parameters.getSupportedPreviewSizes().get(0).height);

}

if(parameters.getSupportedPictureSizes()!=null&¶meters.getSupportedPictureSizes().size()>0){

parameters.setPictureSize(parameters.getSupportedPictureSizes().get(parameters.getSupportedPictureSizes().size()/2).width, parameters.getSupportedPictureSizes().get(parameters.getSupportedPictureSizes().size()/2).height);

}

通过打印获取的数据,分辨率的大小是从大到小返回的,如果设置最大的,拍照并且预览会有所卡段延迟,如果是专门做相机的这个得持续优化,对于一般应用来说取折中就够用了。

接下来

parameters.setPictureFormat(ImageFormat.JPEG);

mCamera.setParameters(parameters);

//把这个预览效果展示在SurfaceView上面

mCamera.setPreviewDisplay(mHolder);

//开启预览效果

mCamera.startPreview();//启动浏览

这样就完成了 对大部分手机的兼容,亲测28种不同手机都没有问题。

android 自定义拍照模糊,Android自定义相机拍照模糊处理相关推荐

  1. 三星手机拍照旋转问题 调用相机拍照出现横竖屏切换?

    三星手机拍照旋转问题 调用相机 拍照出现横竖屏切换? 拍照获取图片时,当应用是竖屏时,在部分手机上,如:三星note3上,图片不能正常显示,会旋转90°. =_= 大概的思路就是拍照后获取图片旋转的角 ...

  2. android 调用相机并获取图片地址,Android 7.0使用FileProvider获取相机拍照的图片路径...

    这里主要是基于Android 7.0,Nougat 实现一个获取相机拍照的图片后,使用FileProvider把图片转换为实际的路径. 首先需要在AndroidManifest.xml声明调用相机的权 ...

  3. Android 11适配指南之系统相机拍照、打开相册,安卓app开发教程

    Android 6 权限适配 Android 7 文件适配 Android 10/11 存储适配 ok,接下来以一个更换头像的小例子来讲解一下. 示例 ======================== ...

  4. Android 11.0 设置Camera2的相机拍照默认像素为1080P

    目录 1.概述 2.核心代码区域 3.核心代码分析和功能实现 3.1分析PhoneModule拍照相关代码

  5. android 相机拍照返回,Android6.0机型上调用系统相机拍照返回的resultCode值始终等于0的问题...

    版权声明:本文为博主原创文章,未经博主允许不得转载. 正常情况下调用系统相机拍照: 如果拍照后点击的是"确定"图标,返回的resultCode = -1(Activity.RESU ...

  6. android录制视频横向,Android从零开始(26)(设置全屏+横屏、相机拍照、视频录制)(新)...

    相机拍照.视频录制相机拍照 全屏显示有两种方式: 在androidManifest.xml里面的application标签下设置 android:theme="@android:style/ ...

  7. Qt for Android调用原生接口打开相机拍照并存储照片

    Qt开发Android应用,需求是通过调用Android原生接口去打开系统相机拍照,并返回拍摄的照片.原理很简单,现在Java文件中写android代码调用相机,拍照后将将相片存储在SD卡,然后在C+ ...

  8. android 拍照头像,Android 拍照/选择照片并剪切成头像

    头像裁剪上传功能在现在的App中基本都要用到,今天总结了一下,用比较简单实用的方式(调用系统API)来实现需求.这样做简单,但是不同的手机和系统上裁剪和选择图片的方式有一些区别. 首先来看一下效果图 ...

  9. android 7.0 裁剪,Android 7.0中拍照和图片裁剪适配的问题详解

    前言 Android 7.0系统发布后,拿到能升级的nexus 6P,就开始了7.0的适配.发现在Android 7.0以上,在相机拍照和图片裁剪上,可能会碰到以下一些错误: Process: com ...

  10. 安卓端调用相机拍照返回并预览---清晰原图

    安卓端调用相机拍照并返回预览图片 一.demo预览 二.xml代码和activity简单代码描述. 三.老规矩再来写几个转换工具方法 继之前写的安卓调用相机拍照返回预览,如果对于画质要求不高的话可以考 ...

最新文章

  1. linux apt qt下载,Linux如何安装 apt-get 软件管理工具
  2. 阿拉伯数字转为罗马数字
  3. android alarmmanager进程,Android中使用AlarmManager需注意设置进程属性
  4. 数据挖掘在呼叫中心的六大应用点
  5. matlab 画箱线图boxplot简单用法
  6. MySQL的乱码解决方案
  7. 李洪强iOS开发Swift篇—02_变量和常量
  8. python: insert()函数用法
  9. 当网络安全遇上大数据分析(6)
  10. ARM中R0-R15寄存器的作用
  11. Hadoop权威指南
  12. go语言字符串换行_Go语言字符串
  13. 公务员 or 996 ?
  14. 全网最全数据分析师面试干货-业务逻辑篇
  15. Python学习记录—— 绘制百分比堆积柱状图
  16. 第61篇:合并多个工作薄的所有工作表
  17. opencv读取文件夹下的所有图片
  18. vue 白边 项目_GitHub - Hobby0/Vue-mmPlayer: 基于 Vue 的在线音乐播放器(PC) Online music player...
  19. 谷歌浏览器Google Chrome如何在打开新标签页时设置指定网址
  20. 348高校毕业设计选题

热门文章

  1. Office2016 win10 - 很抱歉,无法设置office,错误代码xxxxx
  2. 洛谷4895 BZOJ3162 独钓寒江雪 树形dp 树哈希
  3. PX4固定翼调试校准流程及实验相关问题记录分析
  4. 国家lpv9服务器包括哪些项目,ipv6与ipv9什么关系
  5. 聊聊 API 网关的作用
  6. 对睡眠好的东西,失眠了,就看看这些助眠好物
  7. XML和Dom4j、正则表达式
  8. 摩尔斯电码(Python字典实现)
  9. 社群的意义?如何寻找合适自己的社群?(知识星球)
  10. 【短线策略】创新高牛股妖股主升浪启动选股交易策略