运营商&&未定义参数类型boolean,int

时间:2015-05-28 13:48:43

标签: java android eclipse camera

Eclipse向我显示错误The operator && is undefined for the argument type(s) boolean, int这里出了什么问题以及如何解决这个问题?我必须使用此代码修复Android 4中的前置摄像头倒置问题。

public static Bitmap createRotatedBitmap(Bitmap bm, float degree) {
    Bitmap bitmap = null;
    if (degree != 0) {
        Matrix matrix = new Matrix();
        matrix.preRotate(degree);

        if(android.os.Build.VERSION.SDK_INT>13 && Camera.CameraInfo.CAMERA_FACING_FRONT)
        {
            float[] mirrorY = { -1, 0, 0, 0, 1, 0, 0, 0, 1};
            matrix = new Matrix();
            Matrix matrixMirrorY = new Matrix();
            matrixMirrorY.setValues(mirrorY);

            matrix.postConcat(matrixMirrorY);

            matrix.preRotate(270);

        }

        bitmap = Bitmap.createBitmap(bm, 0, 0, bm.getWidth(), bm.getHeight(), matrix, true);
    }

    return bitmap;
}

2 个答案:

答案 0 :(得分:2)

值Camera.CameraInfo.CAMERA_FACING_FRONT是一个int值,你可以使用逻辑运算符作为&&只有布尔值

尝试使用Camera.CameraInfo.facing.equals(Camera.CameraInfo.CAMERA_FACING_FRONT)

答案 1 :(得分:1)

Camera.CameraInfo.CAMERA_FACING_FRONT是一个int,所以你基本上要做的是

if (true && 1) ...

仔细阅读相机的文档,了解如何正确使用相机。你需要为每个返回的id调用“getNumberOfCameras”然后调用“getCameraInfo”。