如今gif动态图已经融入了我们的日常网络生活,和别人聊天的时候一言不合就斗图。
有时候遇到搞笑的动态图就会把它“添加到表情”,而现在通过这个项目就可以实现自己DIY了!!!
通过这个项目学会了GIF倒放技能,妈妈再也不同担心我没有搞笑的表情包了。
先拿星爷镇楼
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜
相信大家应该都看过这个表情包,而通过这个项目,我们就可以实现!!!
先展示一下通过此项目实现的效果:
变换前(主动让座的好青年):
变换后(抢老奶奶座的坏小伙):
注:此项目用的动态图来源于互联网,侵权删。此项目进行GIF动态图二次创作,纯属娱乐,不针对任何人任何事。
GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧(Frame)静态图像,然后连续呈现。很多简短的视频也会被转换成动态 GIF 呈现。网络上流传许多的搞笑动图,特别的是如果把正常的动画倒序播放可以获得更搞笑的效果。
要做到这一点其实很简单,只要从原始图片中提取中间每一帧静态图像,然后将顺序颠倒之后重新生成一张 GIF 图片即可。我们主要使用到Python 中专门用于处理图像的库 PIL。
#你只需要把输入路径和输出路径修改一下即可完成from PIL import Image, ImageSequencewith Image.open('work/cl.gif') as im:
frames = [f.copy() for f in ImageSequence.Iterator(im)] #从原始图片中提取中间每一帧静态图像
frames.reverse() # 使用倒序函数
# 将倒序后的所有帧图像保存下来
frames[0].save('work/cl.gif', save_all=True, append_images=frames[1:],loop=0)#loop=0设置循环播放例如可以把一个动态图,正常播放+倒序播放 最后形成一个完整的动态图
请看例子:
(PS:这个图正常播放顺序在百度上找了好久都没找到,所以我就直接把这张原图(已合并)分割前面的序列当作是正常播放顺序,导致有点失真)
但是思路还是一样的,大家把正常的播放顺序放入代码即可
#你只需要把输入路径和输出路径修改一下即可完成from PIL import Image, ImageSequencewith Image.open('work/cl1.gif') as im:
frames1 = [f.copy() for f in ImageSequence.Iterator(im)]#从原始图片中提取中间每一帧静态图像
frames2 = [f.copy() for f in ImageSequence.Iterator(im)]#从原始图片中提取中间每一帧静态图像然后使用倒序函数
frames2.reverse() # 将原始顺序+倒序后的所有帧图像保存下来
frames1[0].save('work/re_cl1.gif', save_all=True, append_images=(frames1[1:]+frames2[1:]),loop=0)#loop=0设置循环播放变换前:
变换后:
例如可以把一个动态图,正常播放视频帧打乱顺序,最后形成一个完整的动态图,从而达到鬼畜效果
请看例子:
变换前:
变换后:
#你只需要把输入路径和输出路径修改一下即可完成from PIL import Image, ImageSequenceimport randomwith Image.open('work/chaiquan.gif') as im:
frames1 = [f.copy() for f in ImageSequence.Iterator(im)]#从原始图片中提取中间每一帧静态图像
random.shuffle(frames1) # 打乱视频帧顺序
frames1[0].save('work/re_chaiquan.gif', save_all=True, append_images=frames1[1:],loop=0)#loop=0设置循环播放以上就是趣味表情包制作:GIF倒放的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号