Bonjour tout le monde,
J'ai un problème faisant suite à une précédente discussion que j'avais ouverte :
http://www.developpez.net/forums/d12...ux-images-png/
Je voulais comparer 2 images en png et noter les différences. Bien, je ne reviens pas là-dessus car ça fonctionne très bien... à un détail près.
Les images que je dois comparer sont uploadées via un site web par les utilisateurs.
Le problème vient que, ne connaissant pas, je n'ai pas pris en compte qu'il existait différents "formats" .png réagissant différemment.
En effet, je m'étais basé sur des images "32bits" alors que certains utilisateurs m'envoient des images "8bits" et le programme de comparaison (du précédent lien) plante car la commande suivante ne donne pas le même résultat en fonction de l'image "8bits" ou "32bits".
En "8bits", j'obtiens un integer. En "32bits", j'obtiens bien la liste [r,g,b,a] correspondant aux 3 couleurs + la transparence. Et bien entendu, je ne peux comparer les 2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part couleurImgValid = imgValid.getpixel(position) # Prendre la couleur sur le pixel de l'image
J'ai bien essayer de convertir (Method "convert") mais il ne veut pas convertir un mode "P" en "RGBA" (voir mode : http://www.pythonware.com/library/pi...k/concepts.htm) ou d'ré-enregistrer l'image "8bits" de l'utilisateur en "32bits" avant d'essayer de la faire comparer mais elle reste désespérément en 8bits et inexploitable.
code essayé :
Si vous avez quelques pistes, je vous en serai reconnaissant.
Code : Sélectionner tout - Visualiser dans une fenêtre à part imgATester.save(img, "png", bits=32) # Sauvegarde de l'image
Merci.
Partager