参与拿奖:本文已参与「新人创作礼」活动,一起开启掘金创作之路
ps:代码文末自取
1.运行效果
实际运行结果应该是一张动态图的
2.UI设计
包括窗口大小的设置,以及一些标签和按钮
root=tkinter.Tk() # 创建窗口
root.title(title) # 窗口名字
root['height']=300
root['width']=500
var_Message=tkinter.StringVar() # 信息
var_Message.set('Loading······')
label_m=tkinter.Label(root,text="Tips:",width=60)
label_m.place(x=10,y=60,width=60,height=20)
entry_m=tkinter.Entry(root,textvariable=var_Message)
entry_m.place(x=80,y=60,width=300,height=20)
button_d=tkinter.Button(root,text="Submit",width=36,command=Submit) # 提交按钮
button_d.place(x=100,y=100,width=60,height=20)
button_q=tkinter.Button(root,text="Quit",width=36,command=Quit) # 退出按钮
button_q.place(x=200,y=100,width=60,height=20)
3.GIF合成
主要调用了PIL包里面的Image类,包括打开与保存
im = Image.open("1.jpg")
images = []
images.append(Image.open('2.jpg'))
images.append(Image.open('3.jpg'))
images.append(Image.open('3.jpg'))
images.append(Image.open('2.jpg'))
# images.append(Image.open('1.jpg'))
im.save('gif.gif'
, save_all=True # 保存所有
, append_images=images # 需要用到的图像
, loop=2 # 循环两次
, duration=1 # 持续时间
)
var_Message.set('Success······')
4.运行目录
5.完整代码
import os
import tkinter
from PIL import Image
def window(title):
root=tkinter.Tk() # 创建窗口
root.title(title) # 窗口名字
root['height']=300
root['width']=500
var_Message=tkinter.StringVar() # 信息
var_Message.set('Loading······')
label_m=tkinter.Label(root,text="Tips:",width=60)
label_m.place(x=10,y=60,width=60,height=20)
entry_m=tkinter.Entry(root,textvariable=var_Message)
entry_m.place(x=80,y=60,width=300,height=20)
def Submit():
im = Image.open("1.jpg")
images = []
images.append(Image.open('2.jpg'))
images.append(Image.open('3.jpg'))
images.append(Image.open('3.jpg'))
images.append(Image.open('2.jpg'))
# images.append(Image.open('1.jpg'))
im.save('gif.gif', save_all=True, append_images=images, loop=2, duration=2)#, comment=b"bbbaa")
var_Message.set('Success······')
def Quit():
root.destroy()
button_d=tkinter.Button(root,text="Submit",width=36,command=Submit) # 提交按钮
button_d.place(x=100,y=100,width=60,height=20)
button_q=tkinter.Button(root,text="Quit",width=36,command=Quit) # 退出按钮
button_q.place(x=200,y=100,width=60,height=20)
root.mainloop()
if __name__=="__main__":
window('GIF')