0

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

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

我发现这个问题:Android Camera Intent Saving Image Landscape When Taken Portrait,这是我有的完全相同的问题,但答案是不完整的,并没有为我工作。例如,什么是resizedBitmap,opts,并且是fileUri.getPath()

+0

似乎标题是另一种方式?在纵向拍摄时,它可以保存在横向上 - 与链接问题完全相同,不是吗? –

+0

是的,你是完全正确的 - 愚蠢的错误。 – lschlessinger

+0

这是绝对合法的,甚至倾向于以评论的形式提出这些问题,以回答不完整或不明显或不适用于您的问题。 –

回答

0

那么一些摄像机会将风景模式锁定为相机默认模式(三星注2),所以如果您在potrait模式下拍摄图片,图像仍然保存为风景模式。大部分相机都会将元数据添加到相机供应商,型号等图像中。在可以呈现的各种元数据中,我们感兴趣的是旋转数据。它指定图像旋转的程度。要知道旋转,您可以使用ExifInterface类。

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

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

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

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

+0

感谢您的回答。我的意思是关于这个问题。如果我有照片Uri,我将如何定义这些变量? – lschlessinger

+0

您给出的链接中的答案并不完整。你只需要为他使用的变量提供适当的值。我将文件变量更改为Uri.getPath()就足够了 –

+0

对不起,如果我遗漏了一些东西,但是'resizedBitmap'和'opts'定义在哪里? – lschlessinger

相关问题