我正在尝试使用 Android 手机实现点测光。
parameters.set("自动曝光", "点测光");

但是,我对计量的工作方式有些困惑。如果我理解正确,点测光通过选择用于设置曝光值的区域来工作。

但是,当展平 Camera.Parameters 类并显示结果时,测光区域为 (0, 0, 0, 0, 0) [意味着它的宽度、高度和重量为零],而自动曝光设置正确“点——计量”。然而,在 API 中,“getMeteringAreas()”文档说计量区域不能具有零宽度和高度。

那么如何在测光面积为 0 的情况下使用“点测光”呢?我尝试将测光区域设置在右上角,但它对曝光没有任何影响。

这让我相信自动曝光=点测光与测光区域没有任何关系......这很奇怪。

如果不是这种情况,有人可以帮助我了解我做错了什么吗?如果您需要更多信息,我很乐意提供代码。

如果是这种情况(例如,测光区域与点测光无关),有人可以帮我弄清楚如何选择自动曝光测光的位置吗?我认为它默认为中心。

谢谢!

最佳答案

MeteringAreas 参数用于自动对焦测光。

没有用于曝光测光模式的 Android api。您需要找到正确的未记录参数名称和值来设置它(例如,通过 native_getParameters 转储所有参数)。

例如,对于三星 Galaxy Note 3,参数名称为 metering ,接受的值为 centermatrixspot 。所以你只需调用 set("metering", "spot"); ,它就会神奇地工作。

关于Android 相机应用 : Spot Metering,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17326221/

10-12 00:34