Die Bilder der iPhone-Kamera werden beim Hochladen ins Internet gedreht

8

Ich verwende UIImagePickerController, um ein Foto im Hochformat auf dem iPhone aufzunehmen und im Internet zu speichern. Das Foto erscheint im Hochformat auf dem Telefon, dreht sich jedoch um 90 Grad im Web.

Wenn ich das Foto herunterlade und es in Vorschau (Mac) oder Photoshop (Mac oder PC) anschaue, ist es wieder im Hochformat. Im Windows Picture Viewer (PC) wird es in Querformat gedreht.

Muss ich vor dem Hochladen eine Rotationstransformation auf die Bilddaten anwenden? Muss ich dann auch die Metadaten entfernen, die es in Photoshop und in der Vorschau drehen?

    
Arrel 25.06.2009, 02:14
quelle

4 Antworten

7

Das Problem bestand darin, dass die Bilddrehung dem Foto als EXIF-Daten hinzugefügt wurde, die von den meisten Browsern nicht verwendet wurden. Es gibt zwei Lösungen:

  1. Wenden Sie die Drehung auf der Serverseite an. Ich benutzte das Ruby-Plugin Paperclip (von Thoughtbot) und musste einfach die Option "Automatisch ausrichten" in den Befehl "has_attached_file" im Modell einfügen:

    has_attached_file: Foto,: convert_options = & gt; {: alle = & gt; '-auto-orient'}

  2. Drehen Sie das Foto in der iPhone App. Dies wurde in einer weiteren Stackoverflow-Frage gelöst; Durch Aufruf der scaleAndRotate-Methode werden die Rotations-Metadaten durch ein Bildtransformation, dank @Squeegy.

Arrel 26.06.2009, 20:39
quelle
3

Hier ist eine Lösung für CarrierWavew / MiniMagick: Ссылка

    
user284046 15.05.2011 15:22
quelle
0

Sobald Sie das Foto aufgenommen haben, bevor Sie das Bild auf den Server hochgeladen haben, übergeben Sie das aufgenommene Bild einfach an eine Methode, die sicherlich für Sie funktioniert.

%Vor%     
btmanikandan 07.02.2014 07:27
quelle
-1

Hier ist eine einfache Möglichkeit, die EXIF-Rotations-Metadaten manuell zu überschreiben, wenn das Bild in der richtigen Ausrichtung in MS Windows gespeichert wird. Klicken Sie im Windows Explorer mit der rechten Maustaste auf die Bilddatei und wählen Sie "Im Uhrzeigersinn drehen". Führen Sie dies viermal durch, um das Bild vollständig zu drehen, und dann wird das Bild für alle Systeme korrekt ausgerichtet. Dann können Sie das Bild auf Ihren Webserver hochladen.

    
BenW 26.10.2015 20:22
quelle