显示失真图像的Tkinter

2022-05-24 00:00:00 python tkinter gif

问题描述

我正在尝试使用Tkinter显示gif,但当gif加载时,它看起来非常奇怪。我已经粘贴了原始gif和在tkinter中显示的gif的屏幕截图。不是只有一个gif,而是我使用的每个gif都会发生这种情况。

GIF中的原始框架:

tkinter中看到的帧:

代码如下:

from Tkinter import *
import time as t

root = Tk()

frames = []
i = 0

while True:
    try:
        frames.append(PhotoImage(file='display.gif',format='gif -index %i' %(i)))
        i += 1
    except  TclError:
        break


def update(ind):
    if ind >= len(frames):
        ind = 0
    frame = frames[ind]
    ind += 1
    label.configure(image=frame)
    root.after(100, update, ind)

label = Label(root)
label.pack()
root.after(0,update,0)
root.mainloop()

解决方案

尝试PIL模块。它有更好的支持,我在过去的项目中使用过它。它有更好的图像/视频/gif支持。去找一个好的教程吧。

相关文章