Java 倒转相机预览

Java 倒转相机预览,java,android,camera,Java,Android,Camera,前摄像头的显示是颠倒的。我在读每一帧。我想我知道把代码放在哪里。在表面上改变了,但不知道怎么做 我试过什么。 private android.hardware.Camera.PreviewCallback previewCallback = new android.hardware.Camera.PreviewCallback() { public void onPreviewFrame(byte abyte0[] , Camera camera) {

前摄像头的显示是颠倒的。我在读每一帧。我想我知道把代码放在哪里。在表面上改变了,但不知道怎么做

我试过什么。

private android.hardware.Camera.PreviewCallback previewCallback = new android.hardware.Camera.PreviewCallback()
    {
        public void onPreviewFrame(byte abyte0[] , Camera camera)
        {       
            int[] rgbData = YuvUtils.decodeGreyscale(abyte0, widthPreview,heightPreview);

            editedBitmap.setPixels(rgbData, 0, widthPreview, 0, 0, widthPreview, heightPreview);

            if(MainActivity2.cameraId==CameraInfo.CAMERA_FACING_FRONT)  // it is rotating my CameraPreview continuosly.
            {
                matrix.postRotate(270F);
            }
            finalBitmap = Bitmap.createBitmap(editedBitmap, 0, 0, widthPreview, heightPreview, matrix, true);

            if(saveCurrentFrame)
            {
                saveCurrentFrame =false;

                new BitmapSaver(ctx, finalBitmap).start();
            }
        }
    };

但它在不断地旋转我的相机预览。我的活动设置为Potrait在我的活动中不允许更改方向

我将使用
matrix.setRotate()

matrix.postRotate()
每次调用时都会添加旋转。角度从270->540->810->1080->1350->等


matrix.setRotate()
将始终将其设置为270。

我将使用
matrix.setRotate()

matrix.postRotate()
每次调用时都会添加旋转。角度从270->540->810->1080->1350->等


matrix.setRotate()
将始终将其设置为270。

您可以使用
\u camera.SetDisplayOrientation(90)
在拍照前旋转相机预览。

您可以使用
\u camera.SetDisplayOrientation(90)
在拍照前旋转相机预览。

倾斜相机时出现的一个问题。它显示为倒置。我已将我的活动设置为potrait。知道怎么办吗?我不知道你说的倾斜镜头是什么意思?例如,旋转设备会旋转图像,但会向后旋转吗?或者只是角度不对?(90比270好用吗?)当我将手机90旋转到左手时,它会像倾斜相机时出现的一个问题一样显示出来。它会颠倒显示。我已将我的活动设置为potrait。知道怎么办吗?我不知道你说的倾斜镜头是什么意思?例如,旋转设备会旋转图像,但会向后旋转吗?或者只是角度不对?(90比270好用吗?)当我将手机90旋转到左手时,手机显示为
private android.hardware.Camera.PreviewCallback previewCallback = new android.hardware.Camera.PreviewCallback()
    {
        public void onPreviewFrame(byte abyte0[] , Camera camera)
        {       
            int[] rgbData = YuvUtils.decodeGreyscale(abyte0, widthPreview,heightPreview);

            editedBitmap.setPixels(rgbData, 0, widthPreview, 0, 0, widthPreview, heightPreview);

            if(MainActivity2.cameraId==CameraInfo.CAMERA_FACING_FRONT)  // it is rotating my CameraPreview continuosly.
            {
                matrix.postRotate(270F);
            }
            finalBitmap = Bitmap.createBitmap(editedBitmap, 0, 0, widthPreview, heightPreview, matrix, true);

            if(saveCurrentFrame)
            {
                saveCurrentFrame =false;

                new BitmapSaver(ctx, finalBitmap).start();
            }
        }
    };