Фото поворачивается на 90 градусов при просмотре

В моем приложении пользователь имеет возможность делать снимки, а затем просматривать их в ImageView. Проблема в том, что изображение при просмотре фотографии поворачивается на 90 градусов (если я делаю портрет, он появляется в альбомной ориентации). Что я делаю неправильно??

Фотографировать:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(Environment.getExternalStorageDirectory(), "/PROJETOS/"+nome+"/"+"proj"+id+"_reg"+id_reg+"_"+valor+".jpg");
nome_caminho = "proj"+id+"_reg"+id_reg+"_"+valor+".jpg";
outputFileUri = Uri.fromFile(file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
startActivityForResult(intent, TAKE_PICTURE);   



protected void onActivityResult(int requestCode, int resultCode, Intent data){

    if (requestCode == TAKE_PICTURE){
        mydb.execSQL("INSERT INTO fotos(id_regi,nome,caminho) VALUES('"+id_reg+"','"+nome_caminho+"','"+outputFileUri+"')");

    }

Просмотр его:

Options op = new Options();  
    op.inSampleSize = 5;   
    op.inJustDecodeBounds = false;  
    bm = BitmapFactory.decodeFile(caminhoNovo, op); 
    foto.setImageBitmap(bm);

1 ответ

Просто поверните его на 90 градусов

Matrix matrix=new Matrix();
imageView.setScaleType(ScaleType.MATRIX);   //required
float angle = 90f;//Use your value
matrix.postRotate( angle, imageView.getDrawable().getBounds().width()/2, imageView.getDrawable().getBounds().height()/2);
imageView.setImageMatrix(matrix);
Другие вопросы по тегам