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;
}
答案 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”。