项目场景:
private PictureCallback jpegCallBack = new PictureCallback() {
@Override
public void onPictureTaken(byte[] data, Camera camera) {
Bitmap oldBitmap = BitmapFactory.decodeByteArray(data, 0,
data.length);
Matrix matrix = new Matrix();
matrix.setRotate(90);
Bitmap newBitmap = Bitmap.createBitmap(oldBitmap, 0, 0,
oldBitmap.getWidth(), oldBitmap.getHeight(),
matrix, true);
问题描述:
Camera默认方向是横屏;
前置摄像头和后置摄像头切换时,拍照保存的图片出现旋转,前置摄像头还发生了一次镜像,所以与后置摄像头拍出来的照片旋转方向不同;
解决方案:
加入判断,判断是前置还是后置,旋转固定角度;
Matrix matrix = new Matrix();
if(cameraPosition == Camera.CameraInfo.CAMERA_FACING_BACK){
matrix.setRotate(270);//前置
}
if(cameraPosition == Camera.CameraInfo.CAMERA_FACING_FRONT) {
matrix.setRotate(90);//后置
}
补充:
初始化的是后置摄像头
private int cameraPosition = 1; //后置
新手小白,记录解决,诚待大佬不吝惜赐教!十分感谢!