Erfasst Fotoausrichtung ändert sich in Android

8

Ich öffne die Kamera-App auf Knopfdruck. Und das aufgenommene Foto in der nächsten Aktivität anzeigen. Das aufgenommene Foto rotiert jedoch um 90 Grad. Wenn ich das Bild in einer Ansicht anzeigen lasse, nachdem ich es aufgenommen habe, ist die Ausrichtung immer eine Landschaft. Warum wird das Foto nicht im Hochformat angezeigt, wenn das Foto im Hochformat aufgenommen wird?

aufKlick auf eine Schaltfläche:

%Vor%

Inside onActvityresult:

%Vor%

Anzeigen des aufgenommenen Fotos:

%Vor%     
Santhosh 14.06.2012, 04:21
quelle

4 Antworten

15

Ich hatte das gleiche Problem vor allem mit den Samsung-Handys. Scheinbar Samsung Telefone setzen die EXIF-Orientierung-Tag, anstatt einzelne Pixel zu drehen.Lesen der Bitmap mit BitmapFactory unterstützt dieses Tag nicht.Was ich fand die Lösung für dieses Problem zu verwenden ExifInterface in der onActivityResult-Methode der Aktivität. Diese überprüft die Orientierung, die mit dem URI des aufgenommenen Bildes von der Kamera verknüpft ist.

%Vor%     
Shabbir Panjesha 14.06.2012, 04:29
quelle
1

Ich habe es irgendwie funktioniert. Wenn ich das Foto im Landscape-Modus mache, funktioniert alles wie bisher. Wenn ich das Foto im Hochformat mache, muss ich die Kamera auf den Kopf stellen und das Bild sieht gut aus. Wenn Sie bemerken, dass ich Ihren Code ein wenig geändert habe, indem Sie das "ExifInterface" vor jeder Ausrichtung hinzugefügt haben. Ich habe den folgenden Code verwendet:

%Vor%     
Bob Richardson 25.10.2013 06:22
quelle
0

Sie können es einfach einfach drehen

holen Sie sich das Bild, das Sie mit diesem Code in onActvituresult .... aufgenommen haben.

%Vor%     
Dheeresh Singh 14.06.2012 04:27
quelle
0

Bitte verwenden Sie stattdessen Glide. Es fixiert die Ausrichtung selbst und ist unabhängig von dem Handy, das Sie verwenden. Hier ist ein Beispiel

%Vor%     
Syeda Sundus Bokhari 02.02.2018 06:15
quelle

Tags und Links