[python] image tif

Fermé
sab29 - 24 janv. 2007 à 08:44
Sab29 Messages postés 4 Date d'inscription mercredi 24 janvier 2007 Statut Membre Dernière intervention 16 août 2007 - 16 août 2007 à 09:01
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
1 févr. 2007 à 11:36
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
24 janv. 2007 à 15:50
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 mercredi 24 janvier 2007 Statut Membre Dernière intervention 16 août 2007
24 janv. 2007 à 17:41
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 mercredi 24 janvier 2007 Statut Membre Dernière intervention 16 août 2007
16 août 2007 à 09:01
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