Utiliser exif.js pour inverser l'orientation appliquée par canva.drawImage() (#73872) #154

Merged
bdauvergne merged 1 commits from wip/73872-Reorientation-d-une-image-suite into main 2023-03-17 00:07:33 +01:00
Owner

Bibliothèque sous licence MIT copiée de https://github.com/exif-js/exif-js/blob/v2.3.0/exif.js

Bibliothèque sous licence MIT copiée de https://github.com/exif-js/exif-js/blob/v2.3.0/exif.js
csechet approved these changes 2023-03-15 16:45:19 +01:00
csechet left a comment
Owner

Voir mon commentaire, j'approuve cependant et te laisse merger ou pas en ton âme et conscience.

Voir mon commentaire, j'approuve cependant et te laisse merger ou pas en ton âme et conscience.
@ -296,0 +330,4 @@
ctx.drawImage(img, 0, 0, width, height);
var new_image_64 = canvas.toDataURL('image/jpeg', 0.95);
var blob = null;
if (data.files[0].type == 'image/jpeg') {
Owner

Ça vaudrait peut-être le coup de faire ce test avant de transformer l'image : le standard PNG a intégré les métadonnées Exif depuis 2017, bien que ça ne semble pas supporté par mon navigateur (https://zpl.fi/exif-orientation-in-different-formats/) et que donc je doute très fort qu'exif.js le supporte. Je n'ai pas pu le vérifier : quand je télécharge une image PNG elle est convertie en JPEG quelque part que j'ai pas trouvé avant d'exécuter ce code. Si la conversion PNG => JPG est voulue et systématique en amont, on pourrait carrément dégager le test.

Ça vaudrait peut-être le coup de faire ce test avant de transformer l'image : le standard PNG a intégré les métadonnées Exif depuis 2017, bien que ça ne semble pas supporté par mon navigateur (https://zpl.fi/exif-orientation-in-different-formats/) et que donc je doute très fort qu'exif.js le supporte. Je n'ai pas pu le vérifier : quand je télécharge une image PNG elle est convertie en JPEG quelque part que j'ai pas trouvé avant d'exécuter ce code. Si la conversion PNG => JPG est voulue et systématique en amont, on pourrait carrément dégager le test.
Author
Owner

Non t'as raison j'ai complètement changer la logique du truc niveau filtrage des images jpeg, je vais reprendre ça.

Non t'as raison j'ai complètement changer la logique du truc niveau filtrage des images jpeg, je vais reprendre ça.
Author
Owner

Voilà j'ai sorti le gros de la fonction dans adapt_image et EXIF.getData n'est plus appelé que sur des images supposément jpeg.

Voilà j'ai sorti le gros de la fonction dans adapt_image et EXIF.getData n'est plus appelé que sur des images supposément jpeg.
bdauvergne force-pushed wip/73872-Reorientation-d-une-image-suite from 4ad2d79d2c to 28bac2af67 2023-03-15 17:05:43 +01:00 Compare
bdauvergne requested review from csechet 2023-03-15 17:06:12 +01:00
csechet approved these changes 2023-03-15 19:59:31 +01:00
bdauvergne merged commit b84da1a80c into main 2023-03-17 00:07:33 +01:00
bdauvergne deleted branch wip/73872-Reorientation-d-une-image-suite 2023-03-17 00:07:33 +01:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/wcs#154
No description provided.