python生成摸头GIF动态图

您所在的位置:网站首页 发红包的视频动态图 python生成摸头GIF动态图

python生成摸头GIF动态图

#python生成摸头GIF动态图| 来源: 网络整理| 查看: 265

python生成摸头GIF

本篇教程演示了如何使用python的PIL库生成GIF图片 源码已经贴在文中,自行取用

效果演示

运行代码,会让你选择要制作的图片 运行完成后,会在同路径下生成dem.gif 效果演示

原理 本源码主要用到PIL库的Image模块使用Image模块的相关方法处理每一帧的图片存储到GIF列表并生成GIF需要先调试好参数 源码

完整代码及素材打包在附件中了,文末下载 环境:python3.7

from tkinter import filedialog from PIL import Image,ImageDraw import os,tkinter class rua(): def __init__(self,img_file): #载入图片 self.author = Image.open(img_file) def add_png(self,png_d): #根据参数重置图片大小 author = self.author.resize((png_d[0],png_d[1] - png_d[2])) #载入素材 rua_p1 = Image.open(png_d[3]) #创建背景模板 rua_png1 = Image.new('RGBA',(110,110),(255,255,255,255)) #使用预定义的参数:jd,合成一帧的样例 rua_png1.paste(author,(110 - png_d[0],110 - png_d[1] + png_d[2]),author) rua_png1.paste(rua_p1,(0,110 - png_d[1] - png_d[2]),rua_p1) return rua_png1 def add_gif(self): #获取绝对路径 png_dir = os.getcwd() + '\\data\\' #获取素材列表 pst = os.listdir(png_dir) for i in range(len(pst)): pst[i] = png_dir + pst[i] #预调试好的参数,传入素材列表 jd = [[90,90,5,pst[0]], [90,87,5,pst[2]], [90,84,10,pst[3]], [90,81,8,pst[4]], [90,78,5,pst[5]], [90,75,5,pst[6]], [90,72,8,pst[7]], [90,74,8,pst[8]], [90,77,9,pst[9]], [90,80,8,pst[1]]] #重置要生成的图片大小 self.author = self.author.resize((90,90)) #绘制模板 alpha_layer = Image.new('L', (90, 90), 0) draw = ImageDraw.Draw(alpha_layer) draw.ellipse((0,0,90,90), fill=255) self.author.putalpha(alpha_layer) #gif列表 gifs = [] for i in range(len(jd)): #将参数传递给生成方法 #添加到gif列表 gifs.append(self.add_png(jd[i])) #文件名,是否保存所有,图片列表,fps/ms gifs[0].save("dem.gif","GIF",save_all=True,append_images=gifs, duration=35,loop=0) self.author.close() #写上这个方法,否则在选择文件时,会弹出一个tk的默认界面 #可以将下面两行注释掉看看效果 root = tkinter.Tk() root.withdraw() #选择要生成的文件 file_path = filedialog.askopenfilename() au = rua(file_path).add_gif() 本功能已集成到中

源站地址:https://api.wer.plus 前端采用开源:乐玩API管理系统 接口开发采用:Python + Flask

下载完整代码

点击下载



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3