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