安卓相机应用 : Spot Metering

标签 android parameters camera metering

我正在尝试使用 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,接受的值是 centermatrixspot。因此,您只需调用 set("metering", "spot");,它就会神奇地起作用。

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

相关文章:

android - 两个TextView并排,只有一个椭圆?

c++ - 如何将函数指针作为模板参数传递

windows - 批处理脚本传递多个参数调用

Flutter 相机插件版本 0.8.1 与 AndroidX 不兼容

android - 错误 org.json.JSONException : No value for PROJECT_NAME This is my json

Android更改应用程序的字体类型?

ios - AVCapture 在 iOS 7 中以 60 fps 捕获和获取帧缓冲区

python - 在 Windows 上使用 python 的 uEye 相机

android - Android 设备上未显示 Firebase 通知

c++ - 使用模板时得到 "cannot appear in a constant-expression"