Android实用控件自定义逼真相机光圈View

时间:2019-12-19 06:26:28
【文件属性】:
文件名称:Android实用控件自定义逼真相机光圈View
文件大小:252KB
文件格式:ZIP
更新时间:2019-12-19 06:26:28
特效 Android实用控件自定义逼真相机光圈View 作者:佚名 来源:吾爱源码 2016-08-12 14:46:40 0 最近手机界开始流行双摄像头,大光圈功能也应用而生。所谓大光圈功能就是能够对照片进行后期重新对焦,其实现的原理主要是对拍照期间获取的深度图片与对焦无穷远的图像通过算法来实现重新对焦的效果。 在某双摄手机的大光圈操作界面有个光圈的操作图标,能够模拟光圈调节时的真实效果,感觉还不错,于是想着实现该效果。现在把我的实现方法贡献给大家,万一你们公司也要做双摄手机呢?( ̄┰ ̄*) 首先,百度一下光圈图片,观察观察,就可以发现其关键在于计算不同的光圈值时各个光圈叶片的位置。为了计算简便,我以六个直边叶片的光圈效果为例来实现(其他形式,比如七个叶片,也就是位置计算稍微没那么方便;而一些圆弧的叶片,只要满足叶片两边的圆弧半径是一样的就行。为什么要圆弧半径一样呢?仔细观察就可以发现,相邻两叶片之间要相互滑动,而且要保持一样的契合距离,根据我曾今小学几何科打满分的经验可以判断出,等径的圆弧是不错滴,其他高级曲线能不能实现该效果,请问数学家( ̄┰ ̄*)!其他部分原理都是一样的)。 制作效果图: 先说明一下本自定义view的主要内容: 1.本效果的实现就是在光圈内六边形六个角上分别绘制六个光圈叶片 2.根据不同的光圈值计算出内六边形的大小,从而计算每个六边形的顶点的位置 3.设计叶片。也可以让美工MM提供,本方案是自己用代码画的。注意预留叶片之间的间隔距离以及每个叶片的角度为60° 4.定义颜色、间隔等自定义属性 5.上下滑动可以调节光圈大小 6.提供光圈值变动的监听接口
【文件预览】:
CameraAperture-master
----.project(817B)
----project.properties(563B)
----src()
--------com()
----AndroidManifest.xml(843B)
----res()
--------drawable-hdpi()
--------values-v11()
--------menu()
--------drawable-mdpi()
--------layout()
--------drawable-xxhdpi()
--------drawable-xhdpi()
--------values-w820dp()
--------values()
--------values-v14()
----.settings()
--------org.eclipse.jdt.core.prefs(173B)
----gen()
--------com()
----.classpath(466B)
----proguard-project.txt(781B)
----ic_launcher-web.png(50KB)
----bin()
--------resources.ap_(40KB)
--------classes()
--------AndroidManifest.xml(843B)
--------CameraAperture.apk(49KB)
--------res()
--------classes.dex(12KB)

网友评论