在Android中获取图像的当前方向

时间:2014-08-01 09:17:45

标签: android image bitmap orientation exif

在我的应用程序中,我使用

使用已安装的手机相机应用程序拍照
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信息不这样说呢?

0 个答案:

没有答案