[python] image tif

sab29 -  
Sab29 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
Salut
est ce que quelqu'un saurait comment on peut ouvrir et afficher une image tif dans un canevas avec python ?
A voir également:

3 réponses

sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
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() 
1
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 662
 
Un canvas tkinter ?

PIL (Python Imaging Library) devrait permettre de faire ça.
http://www.pythonware.com/products/pil/
( Voir ImageTk.PhotoImage() )
0
Sab29 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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.
0
Sab29 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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 ?
0