Python怎么使用PIL.Image制作运动小人的动态图

这篇文章主要介绍“Python怎么使用PIL.Image制作运动小人的动态图”,在日常操作中,相信很多人在Python怎么使用PIL.Image制作运动小人的动态图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么使用PIL.Image制作运动小人的动态图”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

准备材料:

图片img.png 大小:804x165

Python怎么使用PIL.Image制作运动小人的动态图

制作思路:

把图片拆分成12等分,每帧大小:67x165;连续读取和播放就会形成动态图像。

源代码:

import tkinter as tk
from PIL import Image,ImageTk
from time import sleep
 
flag = False
 
def pause():
    global flag
    flag = not flag
    while flag:
        doing()
 
def doing():
    global flag
    while flag:
        for i in range(12):
            if not flag:break
            box = f_out.crop((i*67,0,i*67+67,164))
            img = ImageTk.PhotoImage(image=box)
            gif = cv.create_image(180,135,image=img)
            cv.update()
            sleep(0.2)
 
root = tk.Tk()
root.geometry('400x320')
cv = tk.Canvas(root, width=350, height=260, bg='lightgray')
cv.pack()
f_in = 'd:\\img.png'
f_out = Image.open(f_in)
 
box = f_out.crop((0,0,67,164))
img = ImageTk.PhotoImage(image=box)
gif = cv.create_image(180,135,image=img)
 
tk.Button(root,command=pause,text='动作/停止').place(x=170,y=275)
 
root.mainloop()

运行效果:

Python怎么使用PIL.Image制作运动小人的动态图

到此,关于“Python怎么使用PIL.Image制作运动小人的动态图”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!