[python] image tif
sab29
-
Sab29 Messages postés 4 Statut Membre -
Sab29 Messages postés 4 Statut Membre -
Salut
est ce que quelqu'un saurait comment on peut ouvrir et afficher une image tif dans un canevas avec python ?
est ce que quelqu'un saurait comment on peut ouvrir et afficher une image tif dans un canevas avec python ?
Configuration: Windows XP Internet Explorer 6.0
3 réponses
-
Désolé pour la réponse tardive:
Voici comment afficher une image Tiff dans un Canvas Tkinter:
from Tkinter import* from tkFileDialog import* import Image import ImageTk fenetre=Tk() fenetre.title("Binning") cnv=Canvas(fenetre,width=512,height=512) cnv.pack() mbar=Menu(fenetre) fenetre.configure(menu=mbar) fichiermenu=Menu(mbar,tearoff=0) mbar.add_cascade(label="Fichier",menu=fichiermenu) im = Image.open('image.tif') im.load() w,h=im.size image = ImageTk.PhotoImage(im) cnv.create_image(0,0,anchor=NW,image=image) cnv.monimage = image cnv.configure() cnv.pack() #Menu fichier def open(event=None): pass fichiermenu.add_command(label='Ouvrir',command=open) fenetre.mainloop() -
Un canvas tkinter ?
PIL (Python Imaging Library) devrait permettre de faire ça.
http://www.pythonware.com/products/pil/
( Voir ImageTk.PhotoImage() )
-
en fait voici ce que j'ai écrit :
---------------------------------------------------------------
from Tkinter import*
from tkFileDialog import*
from PIL import *
fenetre=Tk()
fenetre.title("Binning")
cnv=Canvas(fenetre,width=512,height=512)
cnv.pack()
mbar=Menu(fenetre)
fenetre.configure(menu=mbar)
fichiermenu=Menu(mbar,tearoff=0)
mbar.add_cascade(label="Fichier",menu=fichiermenu)
img=PhotoImage("kiwi.gif")
w,h=img.width(),img.height()
cnv.create_image(0,0,anchor=NW,image=img)
#Menu fichier
def open(event=None):
fn=Image.open(askopenfilename())
img.configure(file=fn)
if fn:
w,h=img.width(),img.height()
cnv.create_image(0,0,anchor=NW,image=fn)
img.configure(file=fn)
w,h=img.width(),img.height()
cnv.configure(width=w,height=h)
fichiermenu.add_command(label='Ouvrir',command=open)
fenetre.mainloop()
---------------------------------------------------------------------
si je rajoute une ligne pour que le prog affiche le format et la taille de l'image fn, il m'indique bien que c'est du tif mais il ne l'affiche pas.
-
-
ce programme marche bien pour des images tif codées en 8 bit mais je n'arrive pas à lire des images tif codées en 16 bit, comment je peux faire ?