是否可以在运行期间找出相机设备的光圈角度。我曾尝试使用getParameters().getHorizontalViewAngle()
函数,但它返回360.0度。一个现实的价值是45度或类似的东西。
有没有人有这方面的经验? THX
答案 0 :(得分:4)
我可以告诉你的是,你不能相信getHorizontalViewingAngle()。从理论上讲,这个函数应该得到正确的值,但很多手机(根据我的经验)只有一个随机值硬编码。它可能是360,就像在你的情况下,10(我听说过另一部手机),或者具有相同的垂直和水平视角,这是不正确的。唯一可行的方法是从光学系统测量或确定您想要支持的每部手机。
检查@mat-ball评论如何测量它并查看关于iPhone的关于如何计算它的帖子(假设你有关于芯片尺寸和所有其余部分的详细信息)
http://falklumo.blogspot.com/2010/06/apple-iphone-4-camera-specs.html
原因是Android API中的函数需要具有非空值,并且要将手机识别为android-phone,它必须通过一些自动测试。制造商只需填写一个值即可确保其API实施得到验证。 http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getHorizontalViewAngle()
抱歉让你失望,但这是事实:)
修改强>
如果要在放大或缩小时使用此功能,要提取动态视角,请不要使用getHVA(),即使它具有可追溯的值,因为它不更改为人们会认为是缩放。