android Camera 变焦设置

本文介绍了如何在自定义相机应用中实现变焦功能,包括添加Camera权限、判断设备是否支持变焦及调整焦距的方法,并提及了部分情况下系统相机支持变焦而自定义相机不支持的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、添加Camera权限

2、判断是否支持变焦

public boolean isSupportZoom()
    {
        boolean isSuppport = true;
        if (mCamera.getParameters().isSmoothZoomSupported())
        {
            isSuppport = false;
        }
        return isSuppport;
    }

3、修改焦距

public void setZoom()
    {
        if (mIsSupportZoom)
        {
            try
            {
                Parameters params = mCamera.getParameters();
                final int MAX = params.getMaxZoom();
           if(MAX==0)return;
int zoomValue = params.getZoom(); Trace.Log("-----------------MAX:"+MAX+" params : "+zoomValue); zoomValue += 5; params.setZoom(zoomValue); mCamera.setParameters(params); Trace.Log("Is support Zoom " + params.isZoomSupported()); } catch (Exception e) { Trace.Log("--------exception zoom"); e.printStackTrace(); } } else { Trace.Log("--------the phone not support zoom"); } }

4、存在系统相机可以变焦,自定义相机不可以的情况,目前无法解决

参考链接:

http://blog.youkuaiyun.com/fuuckwtu/article/details/7068072

 

Android实用控件自定义逼真相机光圈View 作者:佚名 来源:吾爱源码 2016-08-12 14:46:40 0 最近手机界开始流行双摄像头,大光圈功能也应用而生。所谓大光圈功能就是能够对照片进行后期重新对焦,其实现的原理主要是对拍照期间获取的深度图片与对焦无穷远的图像通过算法来实现重新对焦的效果。 在某双摄手机的大光圈操作界面有个光圈的操作图标,能够模拟光圈调节时的真实效果,感觉还不错,于是想着实现该效果。现在把我的实现方法贡献给大家,万一你们公司也要做双摄手机呢?( ̄┰ ̄*) 首先,百度一下光圈图片,观察观察,就可以发现其关键在于计算不同的光圈值时各个光圈叶片的位置。为了计算简便,我以六个直边叶片的光圈效果为例来实现(其他形式,比如七个叶片,也就是位置计算稍微没那么方便;而一些圆弧的叶片,只要满足叶片两边的圆弧半径是一样的就行。为什么要圆弧半径一样呢?仔细观察就可以发现,相邻两叶片之间要相互滑动,而且要保持一样的契合距离,根据我曾今小学几何科打满分的经验可以判断出,等径的圆弧是不错滴,其他高级曲线能不能实现该效果,请问数学家( ̄┰ ̄*)!其他部分原理都是一样的)。 制作效果图: 先说明一下本自定义view的主要内容: 1.本效果的实现就是在光圈内六边形六个角上分别绘制六个光圈叶片 2.根据不同的光圈值计算出内六边形的大小,从而计算每个六边形的顶点的位置 3.设计叶片。也可以让美工MM提供,本方案是自己用代码画的。注意预留叶片之间的间隔距离以及每个叶片的角度为60° 4.定义颜色、间隔等自定义属性 5.上下滑动可以调节光圈大小 6.提供光圈值变动的监听接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值