Android相机-设置焦点区域导致运行时异常

2024-01-28

我正在尝试开发自动聚焦于相机框架中间的大物体的代码。这是我的代码:

        Log.i (TAG, "Picking supported size " + selected.width + "x" + selected.height);
        parameters.setPictureSize (selected.width, selected.height);
        try
        {
            parameters.setFocusAreas (Arrays.asList (
                new Camera.Area (
                    new Rect(selected.width/3, selected.height/3, (selected.width*2)/3, (selected.height*2)/3), 
                    1)
                ));
        }
        catch (Exception e)
        {
            Log.w (TAG, "Set focus area failed", e);
        }
        catch (NoClassDefFoundError e)
        {
            Log.w (TAG, "Set focus area failed", e);                
        }
        camera.setParameters (parameters);

配备 CM9 的 Samsung Galaxy S2 的结果如下:

I/ImageCaptureActivity(28885): Picking supported size 2048x1232
E/ISecCameraHardware(1874): android::status_t android::ISecCameraHardware::checkArea(ssize_t, ssize_t, ssize_t, ssize_t, ssize_t): Camera area right coordinate is invalid 1365
E/ISecCameraHardware(1874): android::status_t android::ISecCameraHardware::setFocusAreas(const android::CameraParameters&): FocusArea parsing failed
W/dalvikvm(28885): threadid=1: thread exiting with uncaught exception (group=0x40a641f8)
E/AndroidRuntime(28885): FATAL EXCEPTION: main
E/AndroidRuntime(28885): java.lang.RuntimeException: setParameters failed
E/AndroidRuntime(28885):    at android.hardware.Camera.native_setParameters(Native Method)
E/AndroidRuntime(28885):    at android.hardware.Camera.setParameters(Camera.java:1423)
E/AndroidRuntime(28885):    at net.meridiandigital.autophoto.ImageCaptureActivity$1.run(ImageCaptureActivity.java:67)

知道为什么这段代码不起作用吗?生成的右手坐标(1365)完全在图像宽度(2048)内,那么为什么系统会反对它呢?


从文档获取焦点区域 http://developer.android.com/reference/android/hardware/Camera.Parameters.html#getFocusAreas%28%29,它兼作 setFocusAreas 的文档,

每个焦点区域都是一个具有指定权重的矩形。方向是 相对于传感器方向,即传感器所看到的方向。这 方向不受旋转或镜像的影响 设置显示方向(int)。矩形的坐标范围为 -1000 到 1000。(-1000, -1000) 是左上角的点。 (1000, 1000) 是右下点

所以我想说1365绝对是出界的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android相机-设置焦点区域导致运行时异常 的相关文章

随机推荐