我正在尝试使用Android手机实现点测光.
parameter.set(“ auto-exposure”,“ spot-metering”);
但是,我对计量的工作方式有些困惑.如果我理解正确,则点测光的工作原理是选择一个用来设置曝光值的区域.
但是,当展平Camera.Parameters类并显示结果时,在自动曝光设置正确的情况下,测光区域为(0、0、0、0、0)[意味着宽度,高度和重量为零] -计量”.但是,在API中,“ getMeteringAreas()”文档指出计量区域不能具有零宽度和高度.
那么在测光区域为0的情况下如何使用“点测光”?我尝试将测光区域设置在右上角,但对曝光没有任何影响.
这使我相信auto-exposure = spot-metering与测光区域没有任何关系….这很奇怪.
如果不是这种情况,有人可以帮助我了解我在做什么错吗?如果您需要更多信息,我们将很乐意包含代码.
如果是这种情况(例如,测光区域与点测光无关),有人可以帮助我找出如何选择自动曝光测光器的点吗?我认为它默认为中心.
谢谢!
解决方法:
MeteringAreas参数用于自动对焦测光.
没有用于曝光测光模式的Android API.您需要找到适当的未公开参数名称和值进行设置(例如,通过native_getParameters转储所有参数).
例如,对于Samsung Galaxy Note 3,参数名称为测光,可接受的值为中心,矩阵和点.因此,您只需调用set(“ metering”,“ spot”);它神奇地工作.