es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Pysimplegui redimensionando imágenes

Estoy intentando redimensionar imágenes en pysimplegui pero en lugar de eso, se recortan las imágenes.

Mi elemento de imagen está escrito así:

ui.Image('{filename}'), size=(50,50)))

Lo que resulta en algo como esto:

enter image description here

Mientras que la original se ve así:

enter image description here

He visto en otro lugar que sugiere usar PIL (enlace). Sin embargo, esto parece mucho más largo de lo que me gustaría y me preguntaba si hay una forma más fácil de hacerlo.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para redimensionar imágenes en pysimplegui, puedes hacer uso del método resize de la librería Pillow. Aquí tienes un ejemplo de código:

    import PySimpleGUI as sg
    from PIL import Image
    
    filename = 'example.png'
    image = Image.open(filename)
    image_resized = image.resize((50, 50))
    
    layout = [
        [sg.Image(data=image_resized.tobytes())]
    ]
    
    window = sg.Window('Imagen Redimensionada', layout)
    while True:
        event, values = window.read()
        if event == sg.WIN_CLOSED:
            break
    window.close()
    

    Primero, abrimos la imagen usando Image.open(). Luego, redimensionamos la imagen utilizando el método resize() y pasando las dimensiones deseadas (en este caso, (50, 50)). Finalmente, convertimos la imagen redimensionada a bytes utilizando el método tobytes() y creamos un elemento sg.Image usando los datos de la imagen redimensionada.

    Ten en cuenta que este código mostrará la imagen redimensionada en una ventana utilizando PySimpleGUI. Necesitarás modificar el código para adaptarlo a tu caso de uso específico si deseas utilizarlo en otro lugar.

Comments are closed.