android 自动相机 图片旋转问题,Android 调用系统相机拍照 处理照片旋转问题

本文主要介绍了在Android应用中调用系统相机拍照时遇到的照片旋转问题及其解决方法。通过检查照片的旋转角度,使用ExifInterface读取图片的ORIENTATION属性,然后根据旋转角度进行图片旋转修正,确保图片显示正确。代码示例详细展示了如何处理和保存修复后的图片。
摘要由CSDN通过智能技术生成

在调用系统相机拍照的时候突在某些机型上发现拍出来的照片有可能已经不是原来的角度 不是旋转了90度就是旋转了180度,为了适配这个问题下面是一波套路、、、

调用系统相机:

/**

* 打开系统相机记录成长图片

*/

private void showCamera(int cameraType) {

if (!Environment.MEDIA_MOUNTED.equals(Environment

.getExternalStorageState())) {

Toast.makeText(getActivity(), "未检测到SDCard,拍照功能暂时停用",

Toast.LENGTH_LONG).show();

return;

}

Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

long time = currentTimeMillis();

String imgName = new SimpleDateFormat("yyyyMMdd_HHmmss").format(time);

String path = Environment.getExternalStorageDirectory()

+ File.separator + "DCIM" + File.separator + "Camera"

+ File.separator;

File file = new File(path);

if (!file.exists()) {

file.mkdir();

}

cameraFilePath = path + imgName + ".jpg"; //拍照保存文件路径+文件名称+文件格式

File out = new File(cameraFilePath);

if (!out.exists()) {

try {

out.createNewFile();

} catch (IOException e) {

throw new RuntimeException(e);

}

}

Uri uri = Uri.fromFile(out);

imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, uri);

MediaScannerConnection.scanFile(getActivity(),

new String[]{cameraFilePath}, null, null);

startActivityForResult(image

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值