Android 自定义相机 Camera 图片方向问题

本文探讨了Android自定义相机中遇到的图片方向问题,包括相机预览方向的设置和照片保存时的方向纠正。提供了三种解决方案:拍照后旋转图片、使用ExifInterface旋转以及通过OrientationEventListener监听并调整图片方向。
摘要由CSDN通过智能技术生成

相机预览方向问题


对于相机的预览方向我们可以通过如下API进行设置

camera.setDisplayOrientation(0);
但是,该API影响的是相机的预览方向,对于照片的保存方向并没有什么影响,最终照片保存的方向还是由Camera的图像Sensor决定的。

照片保存方向问题


第一种解决办法就是对拍照后的图片先进行旋转再进行保存,如下

public static Bitmap rotateBitmapByDegree(Bitmap bmp, int degree) {
    if (degree == 0 || null == bmp) return bmp;
    Bitmap returnBm = null;
    // 根据旋转角度,生成旋转矩阵
    Matrix matrix = new Matrix();
    matrix.postRotate(degree);
    // 将原始图片按照旋转矩阵进行旋转,并得到新的图片
    returnBm = Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true);
    if (returnBm == null) {
        returnBm = bmp;
    }
    if (returnBm != bmp && !bmp.isRecycled()) {
        bmp.recycle();
        bmp = null;
    }
    return returnB
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值