En este artículo, aprenderemos cómo cargar imágenes desde el sistema del usuario a la ventana de Tkinter usando el módulo PIL. Este programa abrirá un cuadro de diálogo para seleccionar el archivo requerido de cualquier directorio y mostrarlo en la ventana de tkinter.
Instale los requisitos:
use este comando para instalar Tkinter:
pip install python-tk
Use este comando para instalar PIL:
pip install pillow
Importación de módulos –
Python3
from tkinter import * # loading Python Imaging Library from PIL import ImageTk, Image # To get the dialog box to open when required from tkinter import filedialog
Nota: El módulo ImageTk contiene soporte para crear y modificar objetos Tkinter BitmapImage y PhotoImage a partir de imágenes PIL y el cuadro de diálogo de archivo se usa para que aparezca el cuadro de diálogo cuando abre un archivo desde cualquier parte de su sistema o guarda su archivo en una posición o lugar particular.
Función para crear una ventana Tkinder que consta de un botón –
Python3
# Create a window root = Tk() # Set Title as Image Loader root.title("Image Loader") # Set the resolution of window root.geometry("550x300 + 300 + 150") # Allow Window to be resizable root.resizable(width = True, height = True) # Create a button and place it into the window using grid layout btn = Button(root, text ='open image', command = open_img).grid( row = 1, columnspan = 4) root.mainloop()
El objeto Botón se crea con el texto ‘imagen abierta’. Al hacer clic en él, se invocará la función open_image.
Función para colocar la imagen en la ventana –
Python3
def open_img(): # Select the Imagename from a folder x = openfilename() # opens the image img = Image.open(x) # resize the image and apply a high-quality down sampling filter img = img.resize((250, 250), Image.ANTIALIAS) # PhotoImage class is used to add image to widgets, icons etc img = ImageTk.PhotoImage(img) # create a label panel = Label(root, image = img) # set the image as img panel.image = img panel.grid(row = 2)
La función openfilename devolverá el nombre de archivo de la imagen.
Función para devolver el nombre de archivo elegido de un cuadro de diálogo –
Python3
def openfilename(): # open file dialog box to select image # The dialogue box has a title "Open" filename = filedialog.askopenfilename(title ='"pen') return filename
Para ejecutar este código, guárdelo con la extensión .py y luego abra cmd (símbolo del sistema) y muévase a la ubicación del archivo guardado y luego escriba lo siguiente:
python "filename".py
y presione enter y se ejecutará. O se puede ejecutar directamente simplemente haciendo doble clic en su archivo de extensión .py.
Salida:
https://media.geeksforgeeks.org/wp-content/uploads/20191121233525/Screencast-from-Thursday-21-November-2019-111137-IST2.webm