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%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%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%Sie können es einfach einfach drehen
holen Sie sich das Bild, das Sie mit diesem Code in onActvituresult .... aufgenommen haben.
%Vor%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%