Lorsque on utilise Tkinter pour développer des interfaces graphiques, on est alors confronté au problème de la manipulation des images GIFs. Le module Tkinter nous permet d'afficher des images GIFs mais ne propose aucune solution pour les modifier ou bien même pour connaître simplement leur dimension.
Je vous propose une solution toute simple pour récupérer les dimensions d'une image GIF.
L'astuce est de passer par le module struct
qui permet de traiter simplement les fichiers binaires. Il va ainsi nous permettre d'extraire facilement les informations de notre fichier contenant l'image au format GIF.
Les informations générales de l'image sont codées sur les 10 premiers octets de la façon suivante :
Voila ce que ça peut donner en pur Python :
#!/usr/bin/env python
import struct
# Ouverture de l'image
f = open("image.gif", mode='rb')
image = f.read()
f.close()
# Lecture des entêtes du fichier GIF
format, version, largeur, hauteur = struct.unpack('3s3sHH', image[:10])
if format == b'GIF':
print("Image GIF de version %s, de largeur %dpx et de hauteur %dpx" % (version, largeur, hauteur))
else:
print("Il ne s'agit pas d'une image GIF")
CopyLeft - 2013-17 - Toutes gauches réservées - Licence CC-BY
Valide xHtml 1.0 STRICT | Fièrement propulsé par PluXml | 0.016s | 144085 vues
Aucun commentaire
Fil RSS des commentaires de cet article