Cargando Imágenes en Tkinter usando PIL

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
 

Publicación traducida automáticamente

Artículo escrito por jose16 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *