J'ai une image sur ce lien: http://d38daqc8ucuvuv.cloudfront.net/avatars/216/2014-02-19%2017.13.48.jpg
Comme vous pouvez le voir, il s'agit d'une image normale avec une orientation correcte. Cependant, lorsque je place ce lien sur l'attribut src de ma balise d'image, l'image devient à l'envers. http://jsfiddle.net/7j5xJ/
<img src="http://d38daqc8ucuvuv.cloudfront.net/avatars/216/2014-02-19%2017.13.48.jpg" width="200"/>
Avez-vous une idée de ce qui se passe?
cloudfront
pourrait la faire pivoter dans la page. Vous pouvez forcer une rotation via CSS jsfiddle.net/7j5xJ/1Orientation: Rotate 180
en EXIF.Réponses:
J'ai trouvé une partie de la solution. Les images ont désormais des métadonnées qui spécifient l'orientation de la photo. Il existe une nouvelle spécification CSS pour
image-orientation
.Ajoutez simplement ceci à votre CSS:
Selon les spécifications du 25 janvier 2016, Firefox et iOS Safari (derrière un préfixe) sont les seuls navigateurs qui prennent en charge cela. Je vois toujours des problèmes avec Safari et Chrome. Cependant, Safari mobile semble prendre en charge nativement l'orientation sans la balise CSS.
Je suppose que nous devrons attendre et voir si les navigateurs commenceront à prendre en charge
image-orientation
.la source
Votre image est en fait à l'envers. Mais il a un méta attribut "Orientation" qui indique au spectateur qu'il doit être tourné de 180 degrés. Certains appareils / lecteurs n'obéissent pas à cette règle.
Ouvrez-le dans Chrome: vers le haut Ouvrez-le dans FF: vers le haut Ouvrez-le dans IE: à l'envers
Ouvrez-le dans Paint: à l'envers Ouvrez-le dans Photoshop: à droite. etc.
la source
Si vous avez accès à Linux, ouvrez un terminal, cd vers le répertoire contenant vos images puis exécutez
Cela devrait résoudre définitivement les problèmes d'orientation sur toutes les images.
la source
brew install imagemagick
sur mac si vous obtenezcommand not found: mogrify
J'ai oublié d'ajouter ma propre réponse ici. J'utilisais Ruby on Rails donc cela pourrait ne pas être applicable à vos projets en PHP ou dans d'autres frameworks. Dans mon cas, j'utilisais Carrierwave gem pour télécharger les images. Ma solution était d'ajouter le code suivant à la classe de téléchargement pour résoudre le problème EXIF avant d'enregistrer le fichier.
la source
enregistrer au format png a résolu le problème pour moi.
la source
Cette réponse s'appuie sur la réponse de bsap en utilisant Exif-JS , mais ne repose pas sur jQuery et est assez compatible même avec les navigateurs plus anciens. Voici des exemples de fichiers html et js:
rotate.html:
rotate.js:
la source
Vous pouvez utiliser Exif-JS , pour vérifier la propriété "Orientation" de l'image. Ensuite, appliquez une transformation css si nécessaire.
la source
Ce problème me rendait fou aussi. J'utilisais PHP côté serveur, je n'ai donc pas pu utiliser les solutions @The Lazy Log (ruby) et @deweydb (python). Cependant, cela m'a orienté dans la bonne direction. Je l'ai corrigé sur le support en utilisant getImageOrientation () d'Imagick.
Voici le lien si vous souhaitez en savoir plus. http://php.net/manual/en/imagick.getimageorientation.php
la source
Ce sont les données EXIF que votre téléphone Samsung intègre.
la source
Jusqu'à ce que CSS:
image-orientation:from-image;
soit plus universellement pris en charge, nous faisons une solution côté serveur avec python. Voici l'essentiel. Vous vérifiez les données exif pour l'orientation, puis faites pivoter l'image en conséquence et réenregistrez.Nous préférons cette solution aux solutions côté client car elle ne nécessite pas de chargement de bibliothèques supplémentaires côté client, et cette opération ne doit se produire qu'une seule fois lors du téléchargement du fichier.
la source
Cela se produit car l'orientation d'origine de l'image n'est pas celle que nous voyons dans la visionneuse d'images. Dans de tels cas, l'image est affichée à la verticale dans la visionneuse d'images, mais elle est horizontale en réalité.
Pour résoudre ce problème, procédez comme suit:
Ouvrez l'image dans l'éditeur d'image comme Paint (dans Windows) ou ImageMagick (sous Linux).
Faites pivoter l'image vers la gauche / droite.
Cela devrait résoudre le problème de manière permanente.
la source
Un moyen simple de résoudre le problème, sans codage, consiste à utiliser la fonction d'exportation Enregistrer pour le Web de Photoshop. Dans la boîte de dialogue, vous pouvez choisir de supprimer tout ou la plupart des données EXIF d'une image. Habituellement, je ne garde que les droits d'auteur et les coordonnées. De plus, étant donné que les images provenant directement d'un appareil photo numérique sont considérablement surdimensionnées pour l'affichage sur le Web, il est judicieux de les réduire de toute façon via Enregistrer pour le Web. Pour ceux qui ne connaissent pas Photoshop, je ne doute pas qu'il existe des ressources en ligne pour redimensionner une image et la dépouiller de toutes les données EXIF inutiles.
la source
Je pense qu'il y a quelques problèmes dans l'orientation de l'image de correction automatique du navigateur, par exemple, si je visite l'image directement, elle montre la bonne orientation, mais affiche une mauvaise orientation dans certaines pages html de sortie.
la source
Utilisez un style externe. dans la feuille html, donnez le nom de la classe à la balise. dans la feuille de style, utilisez l'opérateur point précédé du nom de la classe, puis écrivez le code suivant
la source