Tkinter menampilkan gambar terdistorsi

Saya mencoba menampilkan gif menggunakan Tkinter, tetapi saat gif dimuat, tampilannya sangat aneh. Saya telah menempelkan tangkapan layar dari gif asli dan gif yang ditampilkan di Tkinter. Ini tidak terjadi hanya pada satu gif, tetapi setiap gif yang saya gunakan.

Bingkai Asli dalam Gif:

masukkan deskripsi gambar di sini

Bingkai terlihat di tkinter:

masukkan deskripsi gambar di sini

Ini kodenya:

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()

person dbarth    schedule 06.03.2019    source sumber
comment
Omong-omong, keseluruhan gif terlihat seperti ini, kecuali beberapa gif memiliki 1 bingkai atau lebih dengan tampilan gif yang benar.   -  person dbarth    schedule 06.03.2019
comment
Dukungan Tk terhadap GIF animasi tampaknya rusak secara mendasar - ini hanya berfungsi dengan baik jika setiap frame berukuran gambar penuh, yang merupakan cara paling tidak efisien untuk merepresentasikan animasi yang bisa dibayangkan. (GIF animasi yang tepat hanya menyertakan area yang berubah di setiap bingkai.) Ada beberapa kode yang mengklaim dapat mengatasi hal ini di stackoverflow.com/questions/50904093/   -  person jasonharper    schedule 06.03.2019