0
我的应用程序的格式都是纵向模式。奇怪的是,当我以纵向模式拍摄照片时,它将显示在ImageView的侧面(就像它被横向拍摄)一样,右侧显示的唯一方式是如果我以横向模式拍摄照片。让摄像头始终返回右侧向上拍摄的照片?
任何人都知道一个简单的解决方法,无论照相机的方向如何,照片的乘坐方向都会显示出来吗?如果有人需要查看,我可以轻松提供我的代码。
谢谢!
我的应用程序的格式都是纵向模式。奇怪的是,当我以纵向模式拍摄照片时,它将显示在ImageView的侧面(就像它被横向拍摄)一样,右侧显示的唯一方式是如果我以横向模式拍摄照片。让摄像头始终返回右侧向上拍摄的照片?
任何人都知道一个简单的解决方法,无论照相机的方向如何,照片的乘坐方向都会显示出来吗?如果有人需要查看,我可以轻松提供我的代码。
谢谢!
这是我在activity中使用onActivityResult()的代码。返回的意图是用于选取类型为image/*的图像。适合我!
Uri imageUri = intent.getData();
String[] orientationColumn = {MediaStore.Images.Media.ORIENTATION};
Cursor cur = managedQuery(imageUri, orientationColumn, null, null, null);
int orientation = -1;
if (cur != null && cur.moveToFirst()) {
orientation = cur.getInt(cur.getColumnIndex(orientationColumn[0]));
}
Matrix matrix = new Matrix();
matrix.postRotate(orientation);
聪明!我有一个解决方案来检查EXIF标签......这是一个很好的选择。 (虽然为什么BitmapFactory.decodeBitmap()不尊重JPEG方向肯定是真正的问题)。 – 2011-08-03 18:45:37
谢谢你。我试图使用Exif标签,但在检查从意图返回的图像时,它始终为0。 – dbaugh 2011-08-03 21:15:29