Bug #73872
Réorientation d'une image suite à la ŕeduction automatique de la taille
0%
Description
Une fiche avec un champ fichier sur lequel "Réduire automatiquement la taille des images" est coché.
Ci-dessous le fichier original et le fichier réduit, on y observe une rotation de 90 degrés.
Related issues
History
Updated by Frédéric Péters about 2 months ago
Les données EXIF sont bien conservées lors de la réduction de taille mais comme lors de celle-ci on part de l'affichage par le navigateur qui applique la rotation (mais tous les navigateurs font ça ?) on se trouve à l'affichage de la version réduite avec la rotation appliquée une seconde fois :/
Updated by Benjamin Dauvergne about 2 months ago
Frédéric Péters a écrit :
(mais tous les navigateurs font ça ?)
Je dirai que oui : https://developer.mozilla.org/fr/docs/Web/CSS/image-orientation
On peut peut-être jouer avec cette propriété image-orientation pendant le drawImage.
Updated by Frédéric Péters about 2 months ago
- Assignee set to Frédéric Péters
Top je n'avais pas vu l'existence de cette propriété; il y aurait donc à tester quelque chose approchant :
@@ -254,6 +254,7 @@ $.WcsFileUpload = { reader.onload = function(e) { var original_image_64 = e.target.result; var img = document.createElement("img"); + img.style.imageOrientation = "none";
(je m'assigne le ticket pour tester, si jamais ça ne marche pas je me retirerai)
Updated by Benjamin Dauvergne 19 days ago
Il faut peut-être que le DOM ait le temps de réagir au changement de style (ou alors ça n'a d'effet qu'au chargement de celle-ci et il faudrait recréer un tag img sans l'accrocher au document).
Updated by Benjamin Dauvergne 14 days ago
Sur chrome (et donc Edge aussi) et firefox l'orientation est automatiquement conservée par convas.drawImage(), drawImage ignore la CSS. Si on en croit caniuse.org on supporterait 93% des navigateurs en utilisant juste drawImage().
Dans le ticket qui introduire ExifRestorer #23152 je lis
ExifRestorer.restore_as_blob pour à la fois :
- garder les métadonnées EXIF
- améliorer la qualité de l'image tronquée (interpolation linéaire)
Je ne sais pas si ce deuxième point est vraiment important, si ça ne l'est pas alors je propose de simplement enlever ExifRestorer qui pour l'orientation se comporte mal dans quasiment 100% des cas désormais.
Updated by Benjamin Dauvergne 14 days ago
- Related to Development #75178: Retirer l'application d'ExifRestorer lors du redimensionnement d'une image jpeg added
Updated by Gitea (Bot) Gitea 13 days ago
- Status changed from En cours to Solution proposée
Benjamin Dauvergne (bdauvergne) a ouvert une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/154
- Titre : Utiliser exif.js pour inverser l'orientation appliquée par canva.drawImage() (#73872)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/154/files
Updated by Benjamin Dauvergne 13 days ago
J'ai testé sur la même image en y appliquant toutes les orientations1 et en comparant la sortie sur la page de validation et avec eog
, c'est tout bon.
1
bdauvergne@revestel:~$ convert-im6 ~/Téléchargements/test-image-orientation/truc.jpg -orient topright truc-2-mirror-horizontal.jpeg bdauvergne@revestel:~$ convert-im6 ~/Téléchargements/test-image-orientation/truc.jpg -orient bottomright truc-3-rotate-180.jpeg bdauvergne@revestel:~$ convert-im6 ~/Téléchargements/test-image-orientation/truc.jpg -orient bottomleft truc-4-mirror-vertical.jpeg bdauvergne@revestel:~$ convert-im6 ~/Téléchargements/test-image-orientation/truc.jpg -orient lefttop truc-5-mirror-horizontal-and-rotate-270.jpeg bdauvergne@revestel:~$ convert-im6 ~/Téléchargements/test-image-orientation/truc.jpg -orient righttop truc-6-rotate-90.jpeg bdauvergne@revestel:~$ convert-im6 ~/Téléchargements/test-image-orientation/truc.jpg -orient rightbottom truc-7-mirror-horizontal-and-rotate-90.jpeg bdauvergne@revestel:~$ convert-im6 ~/Téléchargements/test-image-orientation/truc.jpg -orient leftbottom truc-8-rotate-270.jpeg
Updated by Gitea (Bot) Gitea 5 days ago
- Status changed from Solution proposée to Solution validée
Corentin Sechet (csechet) a approuvé une pull request sur Gitea concernant cette demande :
Updated by Gitea (Bot) Gitea 4 days ago
- Status changed from Solution validée to Résolu (à déployer)
Benjamin Dauvergne (bdauvergne) a mergé une pull request sur Gitea concernant cette demande :
- URL : https://git.entrouvert.org/entrouvert/wcs/pulls/154
- Titre : Utiliser exif.js pour inverser l'orientation appliquée par canva.drawImage() (#73872)
- Modifications : https://git.entrouvert.org/entrouvert/wcs/pulls/154/files
Updated by Transition automatique 4 days ago
- Status changed from Résolu (à déployer) to Solution déployée