Python实现GIF图倒放


Posted in Python onJuly 16, 2020

前言

GIF图现在已经融入了我们的日常网络生活,微信群、QQ群、朋友圈......一言不合就斗图,你怕了吗?不用担心,只要学会了Python之GIF倒放技能,你就是“斗图王”。

咱们直接开始本文的内容!

Python实现GIF图倒放

Python实现GIF图倒放

PIL(Python Image Library)

它是python的第三方图像处理库,功能非常的强大,几乎被认定为Python的官方图像处理库。

1:导入PIL库的模块

from PIL import Image, ImageSequence #导入PIL库的Image和 ImageSequence 模块
im = Image.open(r'./1.gif') #注意把gif动图放在该程序的相同目录下

2:将GIF图分解

为了能更直观的理解这个程序的原理,我们可以将程序分解gif动图的图片都保存下来看看

sequence = [] #用来存放GIF分解成帧的序列
i=0
for f in ImageSequence.Iterator(im): #循环访问GIF中的逐帧
 sequence.append(f.copy()) 
 i+=1  
 f.save('out_'+str(i)+'.png')  #将每次分离出来的帧保存

Python实现GIF图倒放

3:将得到的序列通过reverse()函数倒序

sequence.reverse()

4:将得到的帧序列重新还原成GIF:

sequence[0].save(r'./out_zr640.gif',save_all = True, append_images=sequence[1:]) #倒放的gif图保存在当前目录下

效果展示:

Python实现GIF图倒放

Python实现GIF图倒放

Python实现GIF图倒放

Python实现GIF图倒放

以上就是Python实现GIF图倒放的详细内容,更多关于Python GIF倒放的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python通过字典dict判断指定键值是否存在的方法
Mar 21 Python
在Python3中初学者应会的一些基本的提升效率的小技巧
Mar 31 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
virtualenv实现多个版本Python共存
Aug 21 Python
分享一下如何编写高效且优雅的 Python 代码
Sep 07 Python
python检测主机的连通性并记录到文件的实例
Jun 21 Python
Python实现常见的回文字符串算法
Nov 14 Python
python pickle存储、读取大数据量列表、字典数据的方法
Jul 07 Python
Python使用Excel将数据写入多个sheet
May 16 Python
Python用类实现扑克牌发牌的示例代码
Jun 01 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 Python
python 实现Requests发送带cookies的请求
Feb 08 Python
浅谈python处理json和redis hash的坑
Jul 16 #Python
Python requests及aiohttp速度对比代码实例
Jul 16 #Python
Python3 搭建Qt5 环境的方法示例
Jul 16 #Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 #Python
Python必须了解的35个关键词
Jul 16 #Python
Python子进程subpocess原理及用法解析
Jul 16 #Python
python redis存入字典序列化存储教程
Jul 16 #Python
You might like
黑夜路人出的几道php笔试题
2009/08/04 PHP
PHP读取ACCESS数据到MYSQL的代码
2011/05/11 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
PHP如何通过AJAX方式实现登录功能
2015/11/23 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
浅析PHP反序列化中过滤函数使用不当导致的对象注入问题
2020/02/15 PHP
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
如何确保JavaScript的执行顺序 之jQuery.html并非万能钥匙
2011/03/03 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
js与jquery回车提交的方法
2015/02/03 Javascript
jQuery EasyUI中DataGird动态生成列的方法
2016/04/05 Javascript
jquery显示隐藏元素的实现代码
2016/05/19 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
javascript用rem来做响应式开发
2018/01/13 Javascript
Vue SSR 组件加载问题
2018/05/02 Javascript
jQuery实现表单动态添加数据并提交的方法
2018/07/19 jQuery
Node.js中Koa2在控制台输出请求日志的方法示例
2019/05/02 Javascript
实现一个 Vue 吸顶锚点组件方法
2019/07/10 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
python简单程序读取串口信息的方法
2015/03/13 Python
详细解读tornado协程(coroutine)原理
2018/01/15 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
python3 反射的四种基本方法解析
2019/08/26 Python
瑞典首都斯德哥尔摩的多元奢侈时尚品牌:Acne Studios
2017/07/09 全球购物
花园仓库建筑:Garden Buildings Direct
2018/02/16 全球购物
英国最大的在线快递公司之一:ParcelHero
2019/11/04 全球购物
求职信模版
2013/11/30 职场文书
有关打架的检讨书
2014/01/25 职场文书
校园文明倡议书
2014/05/16 职场文书
乌镇导游词
2015/02/02 职场文书
展览会邀请函
2015/02/02 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
linux中nohup和后台运行进程查看及终止
2021/06/24 Python