可以通过设置相机的旋转角度来解决这个问题。具体方法如下:
Camera.Parameters parameters = camera.getParameters(); int degrees = 90; camera.setDisplayOrientation(degrees); parameters.setRotation(degrees); camera.setParameters(parameters);
byte[] data = null; try { data = CameraPreview.this.mPictureData; if (data != null) { Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length); Matrix matrix = new Matrix(); matrix.postRotate(270); Bitmap rotatedBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true); // 旋转后的图像可以保存或之后处理 } } catch (Exception e) { e.printStackTrace(); }
注意:这种方法仅适用于在相机图片视图预览中进行图像旋转。如果您想在其他视图中旋转图像,可以通过在绘制过程中使用矩阵来实现。