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.

¿Tkinter está afectando la transparencia de la imagen PIL?

Hice un programa personalizado de visualización de imágenes en Python ya que no encontré uno que funcionara como yo quería, y sé que al menos ANTES funcionaba con GIF transparentes pero ahora no lo hace. Los efectos parecen variar de GIF en GIF, pero siempre es un problema con la transparencia. Haciendo algunas pruebas con .save, encontré que la imagen PIL está completamente bien y puedo exportarla como un png sin absolutamente ningún problema y con una transparencia perfecta. Dicho esto, a pesar de haber hecho el programa, realmente nunca aprendí Tkinter porque no necesité usarlo más allá de limpiar y actualizar el lienzo de manera sencilla, así que no tengo ni idea de cómo probar más allá de PIL. Creo que el problema debería estar en estas líneas:

image = ImageTk.PhotoImage(GifFrameSized) # GifFrameSized es el GIF redimensionado
imagesprite = canvas.create_image(show.w/2,show.h/2,image=image) # w y h son el ancho y la altura del monitor
root.update_idletasks()
root.update()
canvas.pack()

Sinceramente, no tengo idea de cómo el problema podría estar relacionado con alguna de estas líneas, pero pude usar PIL para guardar un png del fotograma en la línea inmediatamente anterior a “image = ImageTk.PhotoImage(GifFrameSized)” y se veía bien, así que tengo que imaginar que está en alguna parte de esas líneas.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema con el programa personalizado de visualización de imágenes en Python está relacionado con la transparencia de algunos archivos GIF. La imagen PIL parece estar bien y se puede exportar como un archivo PNG con una transparencia perfecta. Sin embargo, el problema parece ocurrir al crear una imagen utilizando la función PhotoImage del módulo tkinter. Se sospecha que las líneas de código proporcionadas son las culpables, aunque no está claro dónde está el problema. El autor admite no tener un buen entendimiento de tkinter más allá del borrado y la actualización básica del lienzo. Se requiere realizar pruebas y depuración adicionales para identificar la causa raíz del problema.

Comments are closed.