android触屏对焦_Android相机开发(五): 触摸对焦,触摸测光,二指手势缩放

本文介绍了Android相机开发中的触摸对焦、触摸测光和二指手势缩放功能的实现。通过监听触摸事件,设置对焦和测光区域,以及处理缩放逻辑,实现相机功能的增强。详细讲述了坐标转换、对焦区域设置、测光区域设置以及手势缩放的处理方法,并提供了相应的代码实现。
摘要由CSDN通过智能技术生成

Android Camera Develop: touch to focus, touch to metering, double finger touch to zoom

概述

本篇在(四)的基础上继续对相机APP的功能进行增强。触摸对焦,就是在屏幕上点击某个点,相机就以此点内容进行对焦,保证此点最清晰;触摸测光,就是在屏幕上点击某个点,相机调整曝光亮度,保证此点亮度最为合适;二指手势缩放,就是通过手指在屏幕上的缩放,相机内容也随之进行缩放。上述三个功能也是目前相机APP较为常见的功能,我们接下来就进行实现。

触摸对焦

你要是仔细看过Camera.Parameters的官方文档的话,大概见过setFocusAreas()方法,就像字面意思一样,这个方法就是用来指定对焦区域的,而触摸对焦主要就是依靠这个方法实现。通过监听相机预览的触摸事件,获得手指触摸屏幕的坐标,然后通过setFocusAreas()指定这个对焦区域,最后应用到相机就好了。

坐标转换

手指触摸屏幕的坐标并不能直接应用于setFocusAreas(),因为相机会用到另一套坐标系,如下图所示(来自官方文档)

相机预览中心是(0, 0),左上角是(-1000, -1000),右下角是(1000, 1000)。其中蓝色的矩形就是一个对焦区域,相机以此区域进行对焦。这个坐标系可以让我们免于实际尺寸的困扰,还有一个好处就是这个坐标系不会受预览内容的旋转的影响,就是说只需要做一次坐标变换就好了。

在CameraPreview中加入

calculateT

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值