Я новичок в Python и хочу запустить GIF, загружая и отображая несколько кадров последовательно, чтобы создать эффект движения. Как я могу этого добиться?
Я получаю результат, но он отображает только первый кадр (изображение).
Пока это мой код:
from tkinter import *
import time
# creating the canvas, size in pixels
canvas = Canvas(width = 600, height = 400, bg = '#33EDAE')
# pack the canvas into a frame/form
canvas.pack(expand = YES, fill = BOTH)
# load the .gif image file
gif1 = PhotoImage(file = 'Frame01.jpg')
gif2 = PhotoImage(file = 'Frame02.jpg')
gif3 = PhotoImage(file = 'Frame03.jpg')
gif4 = PhotoImage(file = 'Frame04.jpg')
gif5 = PhotoImage(file = 'Frame05.jpg')
gif6 = PhotoImage(file = 'Frame06.jpg')
gif7 = PhotoImage(file = 'Frame07.jpg')
gif8 = PhotoImage(file = 'Frame08.jpg')
gif9 = PhotoImage(file = 'Frame09.jpg')
gif10 = PhotoImage(file = 'Frame10.jpg')
gif11 = PhotoImage(file = 'Frame11.jpg')
gif12 = PhotoImage(file = 'Frame12.jpg')
# put gif image on canvas
# Center image's axis
canvas.create_image(685, 350, anchor = CENTER, image = gif1)
canvas.create_image(685, 350, anchor = CENTER, image = gif2)
canvas.create_image(685, 350, anchor = CENTER, image = gif3)
canvas.create_image(685, 350, anchor = CENTER, image = gif4)
canvas.create_image(685, 350, anchor = CENTER, image = gif5)
canvas.create_image(685, 350, anchor = CENTER, image = gif6)
canvas.create_image(685, 350, anchor = CENTER, image = gif7)
canvas.create_image(685, 350, anchor = CENTER, image = gif8)
canvas.create_image(685, 350, anchor = CENTER, image = gif9)
canvas.create_image(685, 350, anchor = CENTER, image = gif10)
canvas.create_image(685, 350, anchor = CENTER, image = gif11)
canvas.create_image(685, 350, anchor = CENTER, image = gif12)
# run it ...
time.sleep(0.1)
frame2 = PhotoImage(file=Frame01.jpg, format="gif -index 2")
time.sleep(0.1)
frame3 = PhotoImage(file=Frame02.jpg, format="gif -index 3")
time.sleep(0.1)
frame4 = PhotoImage(file=Frame03.jpg, format="gif -index 4")
time.sleep(0.1)
frame5 = PhotoImage(file=Frame04.jpg, format="gif -index 5")
time.sleep(0.1)
frame6 = PhotoImage(file=Frame05.jpg, format="gif -index 6")
time.sleep(0.1)
frame7 = PhotoImage(file=Frame06.jpg, format="gif -index 7")
time.sleep(0.1)
frame8 = PhotoImage(file=Frame07.jpg, format="gif -index 8")
time.sleep(0.1)
frame9 = PhotoImage(file=Frame08.jpg, format="gif -index 9")
time.sleep(0.1)
frame10 = PhotoImage(file=Frame09.jpg, format="gif -index 10")
time.sleep(0.1)
frame11 = PhotoImage(file=Frame10.jpg, format="gif -index 11")
time.sleep(0.1)
frame12 = PhotoImage(file=Frame11.jpg, format="gif -index 12")
time.sleep(0.1)
frame13 = PhotoImage(file=Frame12.jpg, format="gif -index 13")
mainloop()