在我的应用程序中,我使用
使用已安装的手机相机应用程序拍照Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFile(1); // create a file to save the image
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
现在在onActivityResult()中我正在做:
FileInputStream fis;
try {
File imgFile = getCurrentPictureFile();
Uri uri = Uri.fromFile(imgFile);
File dest = new File(uri.getPath());
fis = new FileInputStream(dest);
Bitmap sourceBitmap = BitmapFactory.decodeStream(fis);
fileUri = getOutputMediaFile(1);
exif = new ExifInterface(fileUri.getPath().toString());
int tmp = getBitmapRotation(Integer.valueOf(exif.getAttribute(ExifInterface.TAG_ORIENTATION)));
...
}
我的问题是:
我正在以肖像模式拍照;图片的宽度大于高度;根据Exif信息,方向是0,所以假设图片没有旋转 - 但由于宽度大于高度,图片IS实际上是旋转的。
但为什么Exif信息不这样说呢?