趣味表情包制作:GIF倒放

P粉084495128
发布: 2025-07-25 09:40:50
原创
582人浏览过

仅需5行代码即可实现动图倒放

如今gif动态图已经融入了我们的日常网络生活,和别人聊天的时候一言不合就斗图。

有时候遇到搞笑的动态图就会把它“添加到表情”,而现在通过这个项目就可以实现自己DIY了!!!

通过这个项目学会了GIF倒放技能,妈妈再也不同担心我没有搞笑的表情包了。

好戏开始

先拿星爷镇楼

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

趣味表情包制作:GIF倒放 - php中文网        

相信大家应该都看过这个表情包,而通过这个项目,我们就可以实现!!!

先展示一下通过此项目实现的效果:

变换前(主动让座的好青年):

趣味表情包制作:GIF倒放 - php中文网        

变换后(抢老奶奶座的坏小伙):

趣味表情包制作:GIF倒放 - php中文网        

注:此项目用的动态图来源于互联网,侵权删。此项目进行GIF动态图二次创作,纯属娱乐,不针对任何人任何事。

实现原理

GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧(Frame)静态图像,然后连续呈现。很多简短的视频也会被转换成动态 GIF 呈现。网络上流传许多的搞笑动图,特别的是如果把正常的动画倒序播放可以获得更搞笑的效果。

要做到这一点其实很简单,只要从原始图片中提取中间每一帧静态图像,然后将顺序颠倒之后重新生成一张 GIF 图片即可。我们主要使用到Python 中专门用于处理图像的库 PIL。

In [34]
#你只需要把输入路径和输出路径修改一下即可完成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设置循环播放
登录后复制
   

变换前:

趣味表情包制作:GIF倒放 - php中文网        

变换后:

爱图表
爱图表

AI驱动的智能化图表创作平台

爱图表 99
查看详情 爱图表

趣味表情包制作:GIF倒放 - php中文网        

变换前:

趣味表情包制作:GIF倒放 - php中文网        

变换后:

趣味表情包制作:GIF倒放 - php中文网        

变换前:

趣味表情包制作:GIF倒放 - php中文网        

变换后:

趣味表情包制作:GIF倒放 - php中文网        

升级玩法一:

例如可以把一个动态图,正常播放+倒序播放 最后形成一个完整的动态图

请看例子:

趣味表情包制作:GIF倒放 - php中文网        

(PS:这个图正常播放顺序在百度上找了好久都没找到,所以我就直接把这张原图(已合并)分割前面的序列当作是正常播放顺序,导致有点失真)

趣味表情包制作:GIF倒放 - php中文网        

但是思路还是一样的,大家把正常的播放顺序放入代码即可

In [36]
#你只需要把输入路径和输出路径修改一下即可完成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设置循环播放
登录后复制
   

变换前:

趣味表情包制作:GIF倒放 - php中文网        

变换后:

趣味表情包制作:GIF倒放 - php中文网        

升级玩法二:

例如可以把一个动态图,正常播放视频帧打乱顺序,最后形成一个完整的动态图,从而达到鬼畜效果

请看例子:

变换前:

趣味表情包制作:GIF倒放 - php中文网        

变换后:

趣味表情包制作:GIF倒放 - php中文网        

In [30]
#你只需要把输入路径和输出路径修改一下即可完成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中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号