Фото поворачивается на 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);