从默认相机单击的图片未按正确方向保存

时间:2015-05-14 14:17:21

标签: android android-intent android-camera

我试图使用

捕捉图片
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
if (intent.resolveActivity(getPackageManager()) != null) {
                intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
                startActivityForResult(takePictureIntent, REQUEST_CODE);
            }
        }

但是当我得到结果时,在大多数情况下图片的方向是不正确的。由于我需要在许多地方使用图片,所以我希望以正确的方向保存图片。怎么办呢?

怀疑: 1.保存图片时,Android默认的相机本身不会处理方向吗? 2.每当我从本地显示图片时,我是否必须使用“ExifInterface”调整?

1 个答案:

答案 0 :(得分:0)

  

在大多数情况下,图片的方向不合适

这取决于你对什么是“正确”的看法。各种设备制造商和相机应用认为拥有EXIF方向标签非常合适。

  

如何做到这一点?

欢迎您扫描图像以获取EXIF标题并自行旋转图像,但这很慢且占用大量内存。

  
      
  1. 保存图片时,Android默认的相机本身不会处理方向吗?
  2.   

首先,您不一定使用任何“Android默认相机”。任何相机应用都可以回复您的Intent。有数以千计的设备型号,有数百个预安装的相机应用程序,更不用说用户可以从Play商店或其他地方获得的应用程序。

其次,如上所述,一些开发人员认为“照顾方向”具有适当的EXIF标题。

  
      
  1. 每当我从本地显示图片时,是否必须使用“ExifInterface”调整?
  2.   

嗯,这取决于。您可以将其转换一次并保存转换后的图像,然后使用转换后的图像,而不是每次都转换它。是否适合保存转换后的图像取决于您和您的用户。