Je travaille sur un projet qui redimensionne les images en utilisant PHP. Ce projet utilise PEL pour copier les données EXIF de l'image source vers l'image redimensionnée. Toutefois, lors du redimensionnement des images pour être vraiment petit, les données EXIF incorporées contiennent une miniature qui est en réalité beaucoup plus grande que l'image redimensionnée elle-même. J'aimerais utiliser PEL pour enlever cette vignette des données EXIF tout en gardant tous les autres goodies. Des idées?En utilisant PEL (bibliothèque PHP EXIF), existe-t-il un moyen de supprimer la miniature incorporée dans les données EXIF d'une image?
Répondre
Je suis sûr qu'il existe d'autres façons, mais la manière la plus simple que je peux voir à partir de là est de lire le fichier en utilisant GD, de sortir une nouvelle image et de copier l'EXIF. Ce n'est en aucun cas un processus simple, mais si vous faites déjà du redimensionnement, cela aurait du sens.
PEL est un peu vicié. Si vous faites cela sur une échelle réelle, vous voudrez peut-être essayer de jouer avec de simples scripts Python. Vous avez accès à de bien meilleurs graphismes et bibliothèques EXIF et vous pouvez croner le script pour qu'il s'exécute sur une période donnée ... Bien que j'admette que cela ne convienne pas au flux de traitement d'image de votre site web.
Vous auriez besoin d'utiliser une bibliothèque de traitement d'image, imagemagik (imagik) ou gmagik fonctionnerait.
Fondamentalement, vous prenez toutes les informations que vous voulez via exif
puis utilisez $image -> stripimage()
pour supprimer tous les méta-données, y compris la vignette, puis utilisez à nouveau gmagic de prendre les données que vous avez tiré via exif pour l'ajouter avant. ($image -> commentimage
par exemple). Le seul problème est que rien de la documentation ne spécifie si l'image sera ré-ajoutée comme exif, ou un autre type de méta-données.