脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python 使用PIL.Image制作运动小人的动态图思路详解

Python 使用PIL.Image制作运动小人的动态图思路详解

2022-02-13 11:44Hann Yang Python

这篇文章主要介绍了Python 使用PIL.Image制作一个运动小人的动态图,制作过程也很简单,只需要把图片拆分成12等分,每帧大小:67x165;连续读取和播放就会形成动态图像,需要的朋友可以参考下

准备材料:

图片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制作一个运动小人的动态图的文章就介绍到这了,更多相关Python PIL.Image动态图内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/boysoft2002/article/details/120861340

延伸 · 阅读

精彩推荐