我有一个Android应用程序,它将图像捕获为CameraPreview图像 在拍摄之前,图像将以人像模式显示在手机屏幕上(根据需要)。
但是当我执行保存时,图像会转到JPG文件,旋转到横向模式
我通过访问MyFiles,找到图像并使用图库查看它来确认这一点 - 它在横向模式下弹出屏幕。
此外,当我将图像文件上传到我的计算机上时,它们也会以横向模式显示
图像正确,但方向错误。
我用来保存的方法如下:
private boolean savePhoto(Bitmap bm) {
FileOutputStream image = null;
try {
image = new FileOutputStream(mLocation);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
bm.compress(CompressFormat.JPEG, 100, image);
if (bm != null) {
int h = bm.getHeight();
int w = bm.getWidth();
} else {
return false;
}
return true;
}
我可以在此处插入代码或调用例程(如果需要,可以使用什么代码),可以在实际保存之前将图像旋转到适当的方向?
或者是否有其他方式可以更改生成的JPG图像方向?
POST EDIT - 我刚刚添加了以下代码来检查Saved JPG文件。
ExifInterface exif = new ExifInterface(f.getPath());
int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);
然而它返回了Orientation = 0,这并没有告诉我它'认为'JPG以横向方向保存,以便我可以使用其他发布的代码。
谢谢