「Python实战分享」自己写个gif生成工具(斗罗大陆你看了嘛?)

liftword3个月前 (02-22)技术文章8

导语?


??


?

?嘿!大家好,我是木木子!今天给大家带来一个好玩儿的Python小程序,希望大家喜欢,记得点点关注啦~


有没有什么内容形式,比小视频更小,比普通图片更丰富????


?



有!?


GIF动态图就是其中一种形式,而且,必不可少。


?


GIF动态图应该是早已充斥了互联网,被大家玩得不亦乐乎,大伙早就不能接受文章中的纯文字或


静态图片,这些早已经不能表现大家心里所想。唯有动态图,才能表达体内的洪荒之力。


?哈哈哈,今天的话木子以斗罗大陆为例子,教大家制作几款不同人物风格的GIF动图!


(话说这国漫大家应该都看过哈,疯狂追漫中——就是更新忒慢了点儿!安利安利,虽然慢但目前


也有100多集了,可以去看康吖~)


?




正文


? ? ? ? ? ?


?他为了她,可以付出自己的生命,自杀取骨。她为了他,可以燃烧自己的生命,献祭魂环。


——唐家三少《斗罗大陆》


?一、简单的GIF制作


1)准备中


1.1 简单的动图制作涉及的环境如下:


Python3、Pycharm、Pillow模块。


模块安装:


pip install +模块名 或pip install -i https://pypi.douban.com/simple/ +模块名



1.2 素材准备


第一组:小舞3张图。


?



第二组:宁荣荣8张图。




2)小简介


PIL最重要的类是 Image你可以从文件加载图像,或者处理其他图像, 或者从 scratch 创建。


从文件加载图像 通过 Image 模块的 open() 函数。


3)代码演示


就是连续的图片打开形成的gif图。(效果动态视频的话都放在最后面的哈)




from PIL import Image

im = Image.open("1.jpg")
images = []
images.append(Image.open('xx'))
images.append(Image.open('xx'))
images.append(Image.open('xx'))
.......想放多少放多少......
im.save('gif.gif', save_all=True, append_images=images, loop=1, duration=1, comment=b"aaabb")



二、升级imageio的GIF制作


1)准备中


1.1 简单的动图制作涉及的环境如下:


Python3、Pycharm、imageio模块。


模块安装:


pip install +模块名 或pip install -i https://pypi.douban.com/simple/ +模块名



1.2 素材准备


第一组:小舞30张图。


?



第二组:朱竹清戴沐白37张图。


?



2)小简介


IMAIO是一个Python库,它提供了一个简单的接口来读取和写入大量的图像数据,包括动画图像、


体积数据和科学格式。它是跨平台的,运行在Python 2 .x和3。x上,并且易于安装。


imageio.imread() #从指定的文件读取图像。返回一个NUMPY数组,该数组带有元数据的元属


性。注意,图像数据按原样返回,并且可能不总是具有uTI8的dType


(因此可能不同于例如PIL返回)。


3)代码演示


首先读取静态图到列表,作为GIF的每一帧;接着设置输入(静态图)、输出(动态图)和一些必要


参数,我们这里设置每一帧间隔时间为xx秒,默认是1秒,之后调用miageio.mimsave函数去保存


结果。(效果动态视频的话都放在最后面的哈)



import imageio
def create_gif(image_list, gif_name, duration = 1.0):
    '''
    :param image_list: 这个列表用于存放生成动图的图片
    :param gif_name: 字符串,所生成gif文件名,带.gif后缀
    :param duration: 图像间隔时间
    :return:
    ''' 
    frames = []
    for image_name in image_list:
        frames.append(imageio.imread(image_name))

    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
    return

def main():
    #这里放上自己所需要合成的图片
    image_list = ['xx', 'xx', 'xx']  #可放多张的哈
    gif_name = 'new.gif'  #合成gif图名称可修改
    duration = xx  #每一帧间隔时间为xx秒
    create_gif(image_list, gif_name, duration)

if __name__ == '__main__':
    main()



?三、总效果展示



安利一款制作GIF的小程序:原来可以这么简单啊~




?


? ? ? ? ? ?


总结


每一个小技巧都值得被认真对待!希望对你有帮助。


完整的免费源码领取处:


如需完整的项目源码+素材源码基地见:#私信小编06#即可获取免费的福利!


往期推荐推荐——


项目1.0 烟花玫瑰(内含多份源码)


Python表白代码:“ 星光月夜烟花皆归你,我也归你”(满天烟花盛开、附番外玫瑰)


项目1.1 恋爱指南(内含多份源码)


【Python恋爱指南】二款甜度爆表的小程序出炉—还怕找不到对象嘛?


项目1.0 漫天飞雪小程序


Python小程序:你看?这千年难遇的雪景——简直“美到犯规”【满屏雪花飞舞】


项目3.2 自动换壁纸


【Python高级技能】超炫酷,电脑每天自动换壁纸,这个神器适合你。


文章汇总——


项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了


(更多内容+源码都在文章汇总哦!!欢迎阅读~)


?

?

??

相关文章

七夕|程序员使用Python写给小白的巨详细告白代码教程

试问中国传统节日中最浪漫、唯美的一个节日是哪一个?必属七夕节——牛郎与织女, 年年今相逢。 柔情似春水, 佳期如美梦!今天,也是程序员哥哥们大显身手的好机会?代码一敲,心就乱跳。他们可以用代码谱写最美...

简单的Python代码实现表白!_用python编写表白程序

代码简单,输入你的名字和你喜欢的人的名字,和你想对她说的话就可以完成自动生成表白内容,快来和我一起看看吧!1、首先是代码:name = input("请输入你的名字:") crush_name = i...

Python藏头诗在线生成器:适合表白的藏头诗情话,想不成功都难

导语我寻竹马旅尘埃,喜见梅花独自开。欢得东风无限好,你似故人有缘来。——顾木子吖你看懂了嘛?哈喽大家好,我是木木子,上一期的唐诗宋词元曲鉴赏中华古诗词之美已经发出来给大家品读了。这一期的话是上一期的延...

【全网最全爱心代码】谁说程序员不懂浪漫!

目录C语言简易爱心代码C语言动态爱心代码Python简易爱心代码Python动态爱心代码Python爱心泡泡1.C语言简易爱心代码原理:心形线直角坐标式(x^2+y^2-1)^3=x^2*y^3让a=...

Python爱心代码、新年代码、草莓熊代码合集 可复制粘贴

Python爱心代码合集,可复制粘贴。今天主要是分享四种代码,可用于表白或者哄人。·第一种是蓝色跳动爱心,可以改变颜色,还可以修改跳动方式。·第二种是草莓熊,粉粉嫩嫩的小熊超级可爱,旁边可以添加名字。...

“我还是很喜欢你就像sin^2a+cos^2a 始终如一”(附表白代码)

前言今天是2月14号 情人节!不少年轻人会选择在这一天“脱单”。作为还没有“脱光”的宅男/腐女,看着别人都出双入对,你说是不是心里有点小失落吗?那么,在这样摆脱单身的天时优势里,该怎么表白,才能不用一...