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

liftword4个月前 (02-22)技术文章24

导语?


??


?

?嘿!大家好,我是木木子!今天给大家带来一个好玩儿的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可以高薪就业,可以接单赚外快,但是不知道还可以做很多有趣的事情。比如今天给大家分享的表白爱心代码。首先看下我的文章目录:1)运行环境2)效果演示3)代码展示4)代码解析接下来我...

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

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

情人节程序员要用这3门语言向老婆示爱,Python简洁、PHP最酷炫!

俗话说:好钢用在刀刃上,编程用在把妹上。今天又是一年一度的情人节,情人节你送花?情人节你送巧克力?情人节你竟然还送化妆品?作为程序员其实可以不按照常规出牌,给老婆来个惊喜好了。咱们年复一年,日复一日使...

程序员也可以很浪漫!推荐这样的一款表白代码收藏馆项目!

在这个数字时代,越来越多的人选择用程序软件、APP或者代码来表达他们的情感。对于很多人来说,程序员可能是一群技术宅,只懂得和代码打交道,不懂得浪漫。但实际上,程序员也有自己的浪漫方式,代码对于他们来说...

「码上告白」情人节特辑 | 当代码遇见爱情,程序员的浪漫你懂吗?

“Hello World”是程序员对世界的告白,而今天,我们用代码对你说“Hello Love”—— 这个情人节,我们聊聊“技术人的浪漫”。代码里的情书:程序员的专属告白谁说程序员不懂浪漫?他们只是把...

程序员的情人节:用代码诠释爱与浪漫

在这个充满粉色与巧克力的情人节,程序员们也在用自己的方式表达爱意。不同于传统的鲜花与巧克力,程序员们更倾向于用代码、算法和科技来传递情感。让我们一起走进程序员的情人节世界,看看他们是如何用独特的思维方...