當通過意圖捕獲圖像時,我遇到了一個問題。如何通過Intent捕獲圖像時獲取方向類型?
我使用默認的意圖代碼來捕獲圖像。如下。
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'and其'width'?如果'h> = w'那麼* portrait * else * landscape *? – Aprian
比較高度和寬度會產生問題......在nexus 1和nexus S上測試它,你會發現問題... –