【小驰笔记】【Android Camera开发】【Android Camera2】【camera2】

本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~
欢迎访问个人博客:www.xiaochibiji.com

关于数码变焦,前面专门写过一篇文章:

https://mp.weixin.qq.com/s/XZzQytKVz-F0sUMW61FFRQ

一、获取支持的最大数码变焦倍数

CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM

二、请求裁剪范围

CaptureRequest.SCALER_CROP_REGION

三、示例代码

/*** 进行镜头缩放* @param zoom 缩放系数(0~1.0)**/
public void applyZoom(float zoom) {float old = mZoomValue;mZoomValue = zoom;if(mCameraCharacteristics != null){float maxZoom = mCameraCharacteristics.get(CameraCharacteristics.SCALER_AVAILABLE_MAX_DIGITAL_ZOOM);// converting 0.0f-1.0f zoom scale to the actual camera digital zoom scale// (which will be for example, 1.0-10.0)float calculatedZoom = (mZoomValue * (maxZoom - 1.0f)) + 1.0f;Rect newRect = getZoomRect(calculatedZoom, maxZoom);mPreviewBuilder.set(CaptureRequest.SCALER_CROP_REGION, newRect);mPreviewSession.setRepeatingRequest(mPreviewBuilder.build(), null, mBackgroundHandler);}}/*** 获取缩放矩形**/
private Rect getZoomRect(float zoomLevel, float maxDigitalZoom) {Rect activeRect = new Rect();activeRect = mCameraCharacteristics.get(CameraCharacteristics.SENSOR_INFO_ACTIVE_ARRAY_SIZE);int minW = (int) (activeRect.width() / maxDigitalZoom);int minH = (int) (activeRect.height() / maxDigitalZoom);int difW = activeRect.width() - minW;int difH = activeRect.height() - minH;// When zoom is 1, we want to return new Rect(0, 0, width, height).// When zoom is maxZoom, we want to return a centered rect with minW and minHint cropW = (int) (difW * (zoomLevel - 1) / (maxDigitalZoom - 1) / 2F);int cropH = (int) (difH * (zoomLevel - 1) / (maxDigitalZoom - 1) / 2F);returnnew Rect(cropW, cropH, activeRect.width() - cropW,activeRect.height() - cropH);
}

推荐阅读:

关于我

博客大更新_

今年,做好一件事情

一篇文章带你了解Android 最新Camera框架

深圳上班,

从事Android Camera相关软件开发工作,

记录生活和工作的点滴,

点击关注“小驰笔记”,期待和你相遇~

从零开发一款相机APP 第十篇:Camera2 zoom变焦相关推荐

  1. 从零开发一款相机APP 第六篇: Camera2相机 打开功能实现

    本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com` 流程图: 1.获取当前设备支持摄像头颗数 CameraManager mana ...

  2. 从零开发一款相机APP 第七篇: Camera2相机 预览功能实现

    本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com 显示需要借助surface,一般采用surfaceview或者texturevi ...

  3. Android Camera:从零开发一款相机APP

    从零开发一款相机APP Day 1: 前言 一.Android Camera开发前景: 1)camera相关应用的领域 2)相关岗位介绍: 3)市场招聘介绍: 4)发展前景介绍: 二.学习这门课的重要 ...

  4. Android Camera:从零开发一款相机APP Day01:前景

    一.Android Camera开发前景: 1)camera相关应用的领域2)相关岗位介绍:3)市场招聘介绍:4)发展前景介绍: 二.学习这门课的重要性: 1)适合的人群:2)熟悉和了解Android ...

  5. Android Camera:从零开发一款相机APP Day02:开发环境安装

    一.jdk.sdk的配置: 二.android studio的安装介绍: 三.adb命令的使用: 熟悉android app开发的同学,这章的内容可以直接跳过. 一.jdk.sdk的配置 这个得配置了 ...

  6. 从零开发一款相机APP 第九篇: Camera2相机 录像功能实现

    [小驰笔记][Android Camera开发][Android Camera2][camera2] 本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaoc ...

  7. 从零开发一款相机 第五篇:Camera api1实现预览、拍照、录像功能

    本课程内容由 @小驰笔记 出品,欢迎关注,获取更多交流信息~ 欢迎访问个人博客:www.xiaochibiji.com 这节课,我们主要讲解如果使用camera api1接口,实现预览.拍照以及录像功 ...

  8. 从零开发一款笔记APP——神马笔记WhatsNote

    从零开发一款笔记APP--神马笔记WhatsNote 一.主要功能 二.开发过程 三.优质的笔记应用 四.附录 一.主要功能 笔记的主要功能分为三个部分: 管理 目录--多层目录结构 标签--单层结构 ...

  9. 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇)

    系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 前言 好久不见,很久没更新博客了,前段时间 ...

最新文章

  1. chords(1)最初
  2. 用按钮控制游戏物件的开启及关闭
  3. 数据库的增删改查和使用流程
  4. 19 CO配置-控制-产品成本控制-产品成本计划编制-定义日期控制
  5. 简洁自适应个人码农主页源码
  6. matepad适配鸿蒙,消息称华为 MatePad2 搭载骁龙888 4G 华为鸿蒙OS计划适配高通平台...
  7. 关于StringIndexOutOfBoundsException那些事~
  8. 线性回归(二)---多元线性回归
  9. java 对象排重_现代化的 Java (八)——重说对象序列化
  10. STP RSTP MSTP PVST+学习 (1)
  11. Qt5学习笔记之bin文件合成工具一:使用对话框选取本地文件并读取
  12. C# Thread.Sleep 导致内存溢出,在多线程里Sleep的真实情况 软件闪退 内存溢出
  13. Pytm:威胁建模框架
  14. rust进水器怎么用_RO反渗透净水器的正确使用方式 你都Get了吗?
  15. m序列生成方法及其fpga实现
  16. c4d如何把文字贴在物体表面_C4D立体贴地面字基础知识点
  17. java BMI指数计算
  18. pstools本机挂起进程
  19. xp显示rpc服务器不可用,绿茶XP系统提示“RPC服务器不可用”如何解决
  20. 淘宝店铺采集工具如何采集同行店铺信息的?

热门文章

  1. Mathtype中批量修改已有公式的办法
  2. 控制结构:13.个人所得税计算
  3. MySQL实战45讲--日志和索引相关问题(15)
  4. CCNP的考试是中文还是英文?
  5. Android studio获取服务器端json数据——天气预报(仅读取了json文件尚未分析)
  6. 程序员更需要个人知识管理
  7. linux 文件系统 pe,Linux磁盘和文件系统管理
  8. plsql 基础教程(二)
  9. flutter 加.then方法
  10. 做事的科学-细节与流程》读书笔记第四章(变动性优化方案)