(Pardonnez-moi si Im obtenir ce totalement faux, je suis un débutant) Je montre quelques photos prises avec MediaStore.ACTION_IMAGE_CAPTURE
. J'ai essayé de désactiver autoorientation lorsque la photo est prise, mais il ne semble pas travailler, je l'ai utiliséépargne Rotation Bitmap android
putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION,ActivityInfo.SCREEN_ORIENTATION_NOSENSOR)
Cela m'a forcé à tourner quelques-unes des photos prises. Je sauvegarde ensuite ces photos sur SDCARD. Mon problème est que je ne veux pas les faire pivoter chaque fois que l'utilisateur charge une photo. J'ai essayé ce code pour créer un nouveau bitmap qui serait sauvegardé dans l'état 'tourné'. Cela a fonctionné sur l'émulateur mais s'est écrasé sur mon HTC. Je suppose que c'est un problème de mémoire. Y a-t-il un moyen de le faire efficacement? Mieux encore, y a-t-il un moyen de désactiver l'autoorientation en prenant des photos avec Camera Intent?
tempBitmap=BitmapFactory.decodeFile(dirPath+filename+".jpg");
int tempW = tempBitmap.getWidth();
int tempH = tempBitmap.getHeight();
if (tempW>tempH) {
Matrix mtx = new Matrix();
mtx.postRotate(90);
Bitmap rotatedBitmap = Bitmap.createBitmap(Bitmap.createBitmap(tempBitmap, 0, 0,
tempW, tempH, mtx, true));
} else{
//...
}
Il pourrait être utile de souligner pourquoi vous pensez que la réduction de l'image est une option. –