我遇到了一个问题,当通过意图捕获图像时。
我正在使用捕获图像的默认意图代码。如下所示。
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, TAKE_PHOTO_CODE);
在 onActivityResult 中如下接收。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if( TAKE_PHOTO_CODE==requestCode){
try {
Bundle extras = data.getExtras();
Bitmap mImageBitmap = (Bitmap) extras.get("data");
selectedImagePath = saveImageInfo(mImageBitmap, "image");
ExifInterface exif = new ExifInterface(selectedImagePath);
Toast.makeText(getBaseContext()," "+exif.getAttribute(ExifInterface.TAG_ORIENTATION), Toast.LENGTH_SHORT).show();
try {
showDialog(DIALOG_UPLOADING);
} catch (Exception e) {
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(getApplicationContext(), "No image selected.. ", Toast.LENGTH_SHORT).show();
}
}
}
我希望在这个onActivityResult方法中获取捕获到的图像方向,我搜索了相关内容,发现了ExifInterface,但是它对我不起作用,我正在LG Optimus Android设备上进行测试,它总是返回0。
问题是在捕获图像后,它被旋转了。 有解决方案吗?
height
和width
? 如果h>=w
则是 portrait,否则是 landscape。 - Aprian