2012-01-01 4 views
1

Почему, когда я загружаю изображение из галереи с намерением, это не вращается. Как будто просматривается галерея Android, которая повернута?Изображение Android из галереи намерение

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

Я решил этот путь:

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); 
} 

selectedImageUri -это данные, возвращаемые из умысел галереи

BMO -bitmap созданный selectedImageUri

Я пробовал и пытался, и это работает, но это решение, или это решение, которое может пойти? Есть и другие лучшие решения?

+0

Пожалуйста, подробнее рассказать о своей проблеме. –

+0

@ coder_For_Life22 Например, если я делаю снимок с телефона в альбомных картинах в Галерее Android, то отображается хорошо, но если я загружу галочку с намерением, это не будет повернуто, и над и под образ. Это происходит независимо от того, установлено ли автоматическое вращение экрана или нет. –

ответ

1

Поскольку приложение для Android-галерей делает это за вас. Итак, вам нужно реализовать такую ​​вещь самостоятельно

Не волнуйтесь - это просто: How to crop and rotate image programmatically in android?

+0

@ biovamp Я отправил свое решение, отредактировав вопрос. –

Смежные вопросы