2012-01-01 10 views
1

ギャラリーからインテントでイメージをロードすると、なぜ回転しないのですか?回転されたAndroid Galleryから見たように?ギャラリーのインテントからのAndroidイメージ

=========================

-itデータが selectedImageUri

によって作成された意図ギャラリー

BMO -bitmapから返されるselectedImageUri

int orientation=getOrientationImageFile(); 

    Canvas c=new Canvas(bmO); 

    if(orientation!=0){ 
     Matrix matrix=new Matrix(); 
     matrix.setRotate(orientation); 
     c.drawBitmap(bm, matrix, new Paint()); 

     bm=Bitmap.createBitmap(bmO, 0, 0, bmO.getWidth(), bmO.getHeight(), matrix, true); 
    } 

private int getOrientationImageFile() { 
     String[] proj = { MediaStore.Images.Media.ORIENTATION }; 
     Cursor cursor = managedQuery(selectedImageUri, proj, null, null, null); 
     int column_index = cursor 
       .getColumnIndexOrThrow(MediaStore.Images.Media.ORIENTATION); 
     cursor.moveToFirst(); 
     return cursor.getInt(column_index); 
} 

私は、このようを解決しました

私は試してみましたが動作しますが、解決策ですか、それとも解決策ですか?他にも優れたソリューションがありますか?

+0

あなたの問題にもっと詳しく説明してください。 –

+0

@ coder_For_Life22たとえば、ギャラリーの風景写真で電話機で写真を撮ると、Androidがうまく表示されますが、インテントギャラリーを読み込んだ場合、これは回転されず、黒い枠線の上下がかなり黒く表示されます画像。自動画面回転が設定されているかどうかに関係なく発生します。 –

答えて

1

Androidギャラリーアプリはあなたのためです。だから、あなたは心配しないでください

自分でそのようなことを実施する必要がある - それは簡単です: How to crop and rotate image programmatically in android?

+0

@ biovamp質問を編集して解決策を投稿しました。 –

関連する問題