Forum >> Programmazione Python >> GUI >> Importare un'immagine

Pagina: 1

Ciao,il mio problema è questo:

ho creato una finestra usando la libreria Tkinter. All'interno ho collocato alcuni widget come dei pulsanti ed etichette.

Ora volevo importare un'immagine dal mio Pc.

Premetto che non so se questo sia possibile e che comunque ho già provato nel seguente modo

from Pil import Image

Image.open('file.jpg')

e non funziona perchè mi da errore di sintassi per le parentesi.

Qualcuno potrebbe gentilmente scrivermi il codice oppure indicarmi una guida?

Io sto usando la versione di Python 3.5.1 e suppongo che la libreria Pil sia inclusa comeTkinter.

Grazie mille!
Diversi widget di tk hanno un parametro di nome 'image' a cui si può passare un'istanza di PhotoImage.

import tkinter as tk
root = tk.Tk()
immagine_tk = tk.PhotoImage(file='crab.gif')
tk.Label(root, image=immagine_tk).pack()
root.mainloop()

Però PhotoImage di tk riesce ad aprire una miseria di formati (in pratica è utile solo per i .gif come descritto qui)

Per aprire altri formati occorre PIL, o meglio la attuale libreria PILLOW, che normalmente *non* è preinstallata.

In pratica si apre un file grafico con Image di PIL/PILLOW e successivamente con ImageTk di PIL/PILLOW si crea una "PhotoImage" compatibile con tk e assegnabile a tutti i widget che lo consentono:

from PIL import Image
from PIL import ImageTk
import tkinter as tk
root = tk.Tk()
immagine_tk = ImageTk.PhotoImage(Image.open('tai.jpg'))
tk.Label(root, image=immagine_tk).pack()
root.mainloop()



--- Ultima modifica di Claudio_F in data 2016-04-05 19:23:22 ---
*** Il codice va evidenziato con il simbolo di fianco ai colori per non perdere l'indentazione ***


Pagina: 1



Esegui il login per scrivere una risposta.