Ich habe ein Bild unter diesem Link: http://d38daqc8ucuvuv.cloudfront.net/avatars/216/2014-02-19%2017.13.48.jpg
Wie Sie sehen können, ist dies ein normales Bild mit korrekter Ausrichtung. Wenn ich diesen Link jedoch auf das src-Attribut meines Bild-Tags setze, wird das Bild auf den Kopf gestellt. http://jsfiddle.net/7j5xJ/
<img src="http://d38daqc8ucuvuv.cloudfront.net/avatars/216/2014-02-19%2017.13.48.jpg" width="200"/>
Hast du eine Idee, was los ist?
cloudfront
könnte es in der Seite drehen. Sie könnten eine Drehung über CSS erzwingen jsfiddle.net/7j5xJ/1Orientation: Rotate 180
in EXIF.Antworten:
Ich habe einen Teil der Lösung gefunden. Bilder haben jetzt Metadaten, die die Ausrichtung des Fotos angeben. Es gibt eine neue CSS-Spezifikation für
image-orientation
.Fügen Sie dies einfach Ihrem CSS hinzu:
Laut der Spezifikation vom 25. Januar 2016 sind Firefox und iOS Safari (hinter einem Präfix) die einzigen Browser, die dies unterstützen. Ich sehe immer noch Probleme mit Safari und Chrome. Mobile Safari scheint jedoch die Orientierung ohne das CSS-Tag nativ zu unterstützen.
Ich nehme an, wir müssen abwarten, ob Browser Unterstützung bieten
image-orientation
.quelle
Ihr Bild steht tatsächlich auf dem Kopf. Aber es hat ein Meta-Attribut "Orientierung", das dem Betrachter sagt, dass es um 180 Grad gedreht werden soll. Einige Geräte / Viewer befolgen diese Regel nicht.
Öffnen Sie es in Chrome: richtig herum Öffnen Sie es in FF: richtig hoch Öffnen Sie es in IE: verkehrt herum
Öffnen Sie es in Paint: Upside down Öffnen Sie es in Photoshop: Ganz oben. etc.
quelle
Wenn Sie Zugriff auf Linux haben, öffnen Sie ein Terminal, cd in das Verzeichnis mit Ihren Images und führen Sie es aus
Dies sollte die Orientierungsprobleme auf allen Bildern dauerhaft beheben.
quelle
brew install imagemagick
auf einem Mac laufen, wenn Siecommand not found: mogrify
Ich habe vergessen, hier meine eigene Antwort hinzuzufügen. Ich habe Ruby on Rails verwendet, daher ist es möglicherweise nicht auf Ihre Projekte in PHP oder anderen Frameworks anwendbar. In meinem Fall habe ich Carrierwave gem zum Hochladen der Bilder verwendet. Meine Lösung bestand darin, der Uploader-Klasse den folgenden Code hinzuzufügen, um das EXIF-Problem vor dem Speichern der Datei zu beheben.
quelle
Speichern als PNG löste das Problem für mich.
quelle
Diese Antwort baut auf der Antwort von bsap mit Exif-JS auf, basiert jedoch nicht auf jQuery und ist auch mit älteren Browsern ziemlich kompatibel. Das Folgende sind Beispiel-HTML- und JS-Dateien:
rotate.html:
drehen.js:
quelle
Sie können Exif-JS verwenden , um die Eigenschaft "Ausrichtung" des Bildes zu überprüfen. Wenden Sie dann nach Bedarf eine CSS-Transformation an.
quelle
Dieses Problem machte mich auch verrückt. Ich habe PHP auf meiner Serverseite verwendet, sodass ich die Lösungen @The Lazy Log (Ruby) und @deweydb (Python) nicht verwenden konnte. Es zeigte mir jedoch die richtige Richtung. Ich habe es mit Imagicks getImageOrientation () auf der Rückseite repariert.
Hier ist der Link, wenn Sie mehr lesen möchten. http://php.net/manual/en/imagick.getimageorientation.php
quelle
Es sind die EXIF-Daten, die Ihr Samsung-Telefon enthält.
quelle
Bis CSS:
image-orientation:from-image;
allgemeiner unterstützt wird, führen wir eine serverseitige Lösung mit Python durch. Hier ist der Kern davon. Sie überprüfen die Exif-Daten auf Orientierung, drehen das Bild entsprechend und speichern es erneut.Wir bevorzugen diese Lösung gegenüber clientseitigen Lösungen, da keine zusätzlichen Bibliotheken clientseitig geladen werden müssen und dieser Vorgang beim Hochladen von Dateien nur einmal ausgeführt werden muss.
quelle
Dies geschieht, da die ursprüngliche Ausrichtung des Bildes nicht der Ansicht im Bildbetrachter entspricht. In solchen Fällen wird das Bild im Bildbetrachter vertikal angezeigt, aber tatsächlich horizontal.
Um dies zu beheben, gehen Sie wie folgt vor:
Öffnen Sie das Bild im Bildeditor wie Paint (in Windows) oder ImageMagick (unter Linux).
Bild nach links / rechts drehen.
Dies sollte das Problem dauerhaft beheben.
quelle
Eine einfache Möglichkeit, das Problem ohne Codierung zu beheben, ist die Verwendung der Funktion "Für Web exportieren" von Photoshop. Im Dialogfeld können Sie auswählen, ob alle oder die meisten EXIF-Daten eines Bildes entfernt werden sollen. Normalerweise behalte ich nur Copyright- und Kontaktinformationen. Da Bilder, die direkt von einer Digitalkamera kommen, für die Webanzeige stark überdimensioniert sind, ist es auch eine gute Idee, sie über Save for the Web zu verkleinern. Für diejenigen, die nicht mit Photoshop vertraut sind, gibt es zweifellos Online-Ressourcen, mit denen Sie die Größe eines Bildes ändern und unnötige EXIF-Daten entfernen können.
quelle
Ich denke, es gibt einige Probleme bei der automatischen Korrektur der Bildausrichtung im Browser. Wenn ich beispielsweise das Bild direkt besuche, wird die richtige Ausrichtung angezeigt, bei einigen Exit-HTML-Seiten jedoch die falsche Ausrichtung.
quelle
Verwenden Sie externes Styling. Geben Sie im HTML-Blatt dem Tag den Klassennamen. Verwenden Sie im Stylesheet den Punktoperator, dem der Klassenname vorangestellt ist, und schreiben Sie dann den folgenden Code
quelle