趣味表情包制作:GIF倒放
仅需5行代码即可实现动图倒放
如今gif动态图已经融入了我们的日常网络生活,和别人聊天的时候一言不合就斗图。
有时候遇到搞笑的动态图就会把它“添加到表情”,而现在通过这个项目就可以实现自己DIY了!!!
通过这个项目学会了GIF倒放技能,妈妈再也不同担心我没有搞笑的表情包了。
好戏开始
先拿星爷镇楼
相信大家应该都看过这个表情包,而通过这个项目,我们就可以实现!!!
先展示一下通过此项目实现的效果:
变换前(主动让座的好青年):
变换后(抢老奶奶座的坏小伙):
注:此项目用的动态图来源于互联网,侵权删。此项目进行GIF动态图二次创作,纯属娱乐,不针对任何人任何事。
实现原理
GIF(Graphics Interchange Format) 是一种可以用来呈现动画效果的图片格式,原理就是保存很多帧(Frame)静态图像,然后连续呈现。很多简短的视频也会被转换成动态 GIF 呈现。网络上流传许多的搞笑动图,特别的是如果把正常的动画倒序播放可以获得更搞笑的效果。
要做到这一点其实很简单,只要从原始图片中提取中间每一帧静态图像,然后将顺序颠倒之后重新生成一张 GIF 图片即可。我们主要使用到Python 中专门用于处理图像的库 PIL。
In [34]#你只需要把输入路径和输出路径修改一下即可完成from PIL import Image, ImageSequencewith Image.open('work/cl.webp') as im: frames = [f.copy() for f in ImageSequence.Iterator(im)] #从原始图片中提取中间每一帧静态图像 frames.reverse() # 使用倒序函数 # 将倒序后的所有帧图像保存下来 frames[0].save('work/cl.webp', save_all=True, append_images=frames[1:],loop=0)#loop=0设置循环播放登录后复制 变换前:
变换后:
变换前:
变换后:
变换前:
变换后:
升级玩法一:
例如可以把一个动态图,正常播放+倒序播放 最后形成一个完整的动态图
请看例子:
(PS:这个图正常播放顺序在百度上找了好久都没找到,所以我就直接把这张原图(已合并)分割前面的序列当作是正常播放顺序,导致有点失真)
但是思路还是一样的,大家把正常的播放顺序放入代码即可
In [36]#你只需要把输入路径和输出路径修改一下即可完成from PIL import Image, ImageSequencewith Image.open('work/cl1.webp') 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.webp', save_all=True, append_images=(frames1[1:]+frames2[1:]),loop=0)#loop=0设置循环播放登录后复制 变换前:
变换后:
升级玩法二:
例如可以把一个动态图,正常播放视频帧打乱顺序,最后形成一个完整的动态图,从而达到鬼畜效果
请看例子:
变换前:
变换后:
#你只需要把输入路径和输出路径修改一下即可完成from PIL import Image, ImageSequenceimport randomwith Image.open('work/chaiquan.webp') as im: frames1 = [f.copy() for f in ImageSequence.Iterator(im)]#从原始图片中提取中间每一帧静态图像 random.shuffle(frames1) # 打乱视频帧顺序 frames1[0].save('work/re_chaiquan.webp', save_all=True, append_images=frames1[1:],loop=0)#loop=0设置循环播放登录后复制 相关攻略
零基础学习Python可从安装环境开始。前往官网下载最新稳定版,安装时勾选添加PATH选项。验证安装后,创建 py文件并写入print()函数输出文本。通过命令行运行文件,观察输出结果。理解代码按顺序执行,注意括号与引号的正确使用。初期不必死记语法,通过修改代码并运行来建立动手反馈的实践感。
Trae的AI功能深度适配FastAPI与Flask框架。针对FastAPI,它能精准识别异步架构与类型注解,提供模型定义、路由补全及异步数据库建议;在Flask中,则侧重理解装饰器链、请求上下文与ORM操作,辅助完成权限控制与数据库提交等典型模式。此外,Trae具备跨框架语义索引能力,可感知项目结构、依赖变更与工具函数调用,提升开发效率。
Trae在Python数据分析与机器学习项目中主要通过四种方式提供支持:利用Auto模式自动生成并执行端到端分析脚本;通过AgentCLI命令行自动化机器学习建模流程;对现有代码进行智能调试与优化;借助语音交互快速构建数据处理函数。这些功能覆盖了从需求描述到代码生成、模型构建及代码优化的全流程。
在Python编程中,你是否也曾编写过类似的统计代码? 统计词频 count = {} for word in words: if word in count: count[word] += 1 else: count[word] = 1 实际上,这种高频的计数需求,完全可以通过Python内置
Trae稳定支持Python3 10至3 13版本,3 9及以下版本无法运行。Python3 14处于实验性支持阶段,核心功能可能受限。当存在多个3 10以上版本时,Trae优先选择虚拟环境中的解释器,其次为最高系统版本。此外,Trae仅兼容64位Python解释器,不支持32位架构。
热门专题
热门推荐
水产市场是什么 在AI Agent的生态中,能力共享与协同进化是核心驱动力。水产市场(Seafood Market)正是为OpenClaw框架量身打造的AI Agent能力共享平台。你可以将其理解为AI领域的“应用商店”或“技能交易中心”,旨在实现AI能力的快速流通与组合创新。 目前,平台已集成超过
在信息爆炸的时代,高效地将音视频内容转化为可编辑、可检索的文字,已经成为内容创作者、研究者和职场人士的刚需。今天要聊的这款工具——MeowTXT,正是瞄准了这一痛点,它不仅仅是一个简单的转录工具,更是一个集成了智能识别、摘要和翻译的AI生产力平台。 MeowTXT是什么 简单来说,MeowTXT是一
OpenFang是什么 在AI Agent领域,我们常常面临一个困境:大多数系统仍然停留在“你说一句,它动一下”的被动模式,离真正的自动化还有距离。今天要聊的OpenFang,正是在尝试打破这个局面。它是一个用Rust语言构建的开源Agent操作系统,其核心创新在于引入了“Hands”的概念——你可
AngelSlim是什么 随着大模型参数规模不断增长,如何实现高效推理与低成本部署已成为开发者面临的核心挑战。腾讯混元团队推出的开源工具包AngelSlim,正是为解决这一难题而生。它是一个面向全模态大模型的综合压缩与加速解决方案,集成了量化、投机采样、稀疏化及知识蒸馏等前沿技术,旨在为各类大语言模
在信息过载的数字化时代,音频与视频内容已成为知识传递、创意表达与商业沟通的核心载体。然而,如何将这些宝贵的非结构化媒体资产,高效、精准地转化为可搜索、可分析、可编辑的文本格式,始终是内容创作者、市场研究人员、学者及商务人士的核心痛点。一款强大的AI转录工具,正是打通音视频内容价值闭环、释放生产力潜能





