以肖像拍摄的照片正在风景中保存

时间:2014-06-22 15:46:40

标签: android android-intent camera android-camera android-camera-intent

我一直在尝试使用Android ACTION_IMAGE_CAPTURE意图和ACTION_GET_CONTENT意图拍摄照片或选择照片。我遇到的问题是,当我尝试在纵向模式下使用Android照片意图拍摄照片时,它会将其保存为横向。

我试图从URI字符串中保存正确定位照片的Bitmap

我发现了这个问题:Android Camera Intent Saving Image Landscape When Taken Portrait,这是我遇到的完全相同的问题,但答案是不完整的,对我来说不起作用。例如,resizedBitmapoptsfile Uri.getPath()是什么?

1 个答案:

答案 0 :(得分:0)

有些相机会将横向模式锁定为相机的默认模式(Samsung note 2),因此如果您在potrait模式下拍照,图像仍会以横向模式保存。大多数相机会在图像中添加元数据,如相机供应商,型号等。在可以呈现的各种元数据中,我们感兴趣的是旋转数据。它指定图像旋转的程度。要了解旋转,您可以使用 ExifInterface 类。

resizedBitmap 图像存储为android中的位图对象。由于图像可以很大,将它们整个加载到内存中会导致内存错误,并使您的应用程序消耗更多内存。因此,首先将位图的大小调整为适当的大小,然后加载到内存中。

opts 通过opts,您必须引用BitmapFactory.Options方法。它是一个提供改变位图行为的方法,比如使它变为可变(设置为true,你可以将灰度等效果应用于此位图),找到它的高度和宽度(以像素为单位),而不将其加载到RAM等等。

file 它是一个用于在系统中存储的任何文件中执行CRUD操作的类。

Uri.getPath()此方法返回存储图像的路径或null。