我正在寻找一个类似的解决我的问题。我正在从相机或画廊拍摄照片,并将其转换为位图以用于我的应用程序。问题是在PORTRAIT拍摄的照片正在旋转-90度。
正在搜索答案我发现这个帖子和https://stackoverflow.com/a/11081918/3062284非常相似。我实际上使用了后者。但是,像@StoneHeart一样,我正在读取图像路径时发生错误。
我使用这个代码在我的onActivityResult():
case CAMERA_REQUEST_CODE:
if (resultCode == RESULT_OK);
uriImage = data.getData();
ExifInterface exif = new ExifInterface(uriImage.getPath());
我需要真正的解决方案解决从文章中使用此方法的文件的路径。
private String getRealPathFromURI(Uri contentUri) {
String[] proj = { MediaStore.Images.Media.DATA };
CursorLoader loader = new CursorLoader(this, contentUri, proj, null, null, null);
Cursor cursor = loader.loadInBackground();
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
和编辑我的代码如下:
case CAMERA_REQUEST_CODE:
if (resultCode == RESULT_OK);
uriImage = data.getData();
String imagePath = getRealPathFromURI(uriImage);
ExifInterface exif = new ExifInterface(imagePath);
和固定的“jhead的不能打开文件”的错误我得到的。