我正在尝试使用 Android 手机实现点测光。
parameters.set("自动曝光", "点测光");
但是,我对计量的工作方式有些困惑。如果我理解正确,点测光通过选择用于设置曝光值的区域来工作。
但是,当展平 Camera.Parameters 类并显示结果时,测光区域为 (0, 0, 0, 0, 0) [意味着它的宽度、高度和重量为零],而自动曝光设置正确“点——计量”。然而,在 API 中,“getMeteringAreas()”文档说计量区域不能具有零宽度和高度。
那么如何在测光面积为 0 的情况下使用“点测光”呢?我尝试将测光区域设置在右上角,但它对曝光没有任何影响。
这让我相信自动曝光=点测光与测光区域没有任何关系......这很奇怪。
如果不是这种情况,有人可以帮助我了解我做错了什么吗?如果您需要更多信息,我很乐意提供代码。
如果是这种情况(例如,测光区域与点测光无关),有人可以帮我弄清楚如何选择自动曝光测光的位置吗?我认为它默认为中心。
谢谢!
最佳答案
MeteringAreas
参数用于自动对焦测光。
没有用于曝光测光模式的 Android api。您需要找到正确的未记录参数名称和值来设置它(例如,通过 native_getParameters
转储所有参数)。
例如,对于三星 Galaxy Note 3,参数名称为 metering
,接受的值为 center
、 matrix
和 spot
。所以你只需调用 set("metering", "spot");
,它就会神奇地工作。
关于Android 相机应用 : Spot Metering,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17326221/