聊天没有表情包被嘲讽,python在手,从此斗图无敌手~

阅读: 评论:0

聊天没有表情包被嘲讽,python在手,从此斗图无敌手~

聊天没有表情包被嘲讽,python在手,从此斗图无敌手~

导语:

哈喽,哈喽~微信斗图,大家最喜欢的就是发布Gif动图表情包了。

 “表情包”是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓“天可不聊,图不可不斗”。

 Gif动图它的原理其实很简单,就是一帧一帧的图片拼接在一起,组合而成的。当他们来回切换的速度很快时,就相当于在看电影。

假如有这样一组图片:

如果制作完成后,是这样的:

还是挺有意思的,你和斗图大神之间的距离,就只差python!如果换成你女友的照片,制作后发给她,肯定对你很崇拜。

正文:

制作过程

整个制作流程很简单,共分为8步。

这里首先导入需要使用的2个库。

import os
import imageio

1. 获取当前的工作路径

path = os.getcwd()
print(path)

结果如下:

 2. 获取当前工作路径下的文件列表

file_list = os.listdir(path)
print(file_list)

结果如下:

3. 复制一个列表

这里介绍的是列表的copy()方法,大家可以自行下去对比学习它与deepcopy()方法的区别。

png_list = py()
print(png_list)

结果如下:

4. 只保留结尾都是jpg的文件

如果你的图片既有jpg,又有png,就需要你在这里加一个判断。

for file in file_list:if file[-3:]!= "jpg":ve(file)
print(png_list)

结果如下:

5. 将图片文件中的数字,升序排列

可以看到,我这里文件的数字都是1-7排列好的,升序排列后,数字较小的图片,位于gif动态图的最前面。

jpg_list.sort(key=lambda x: float(x[:-4]))
jpg_list

结果如下:

6. 拼接得到每张图片的绝对路径

for jpg in jpg_list:image_path = os.path.join(path, jpg)print(image_path)

结果如下:

7. 获取每张照片的RGB通道值,将7张照片的RGB通道值,保存在列表中

frames = []
for jpg in jpg_list:image_path = os.path.join(path, jpg)frames.append(imageio.imread(image_path))
print(len(frames))

结果如下:

8. 将图片保存为gif图,设置了切换时间

gif_path = os.path.join(path, "my_gif.gif")
imageio.mimsave(gif_path, frames, 'GIF', duration=0.2)

结尾:

希望python这个功能代码,能让你从此以后斗图无敌!成为新的斗图帝!

好啦,文章写到这里就结束啦~

大家喜欢的记得点点赞,需要完整的项目源码的可以私信我即可哟!或者点击这行蓝色字体

本文发布于:2024-02-02 06:06:18,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170682517741860.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:包被   无敌手   在手   表情   python
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23