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 相关文章推荐
pygame学习笔记(4):声音控制
Apr 15 Python
浅谈pyhton学习中出现的各种问题(新手必看)
May 17 Python
python+pyqt实现右下角弹出框
Oct 26 Python
Tornado 多进程实现分析详解
Jan 12 Python
Flask解决跨域的问题示例代码
Feb 12 Python
Java实现的执行python脚本工具类示例【使用jython.jar】
Mar 29 Python
python监测当前联网状态并连接的实例
Dec 18 Python
python 阶乘累加和的实例
Feb 01 Python
Django自带日志 settings.py文件配置方法
Aug 30 Python
Python 实现加密过的PDF文件转WORD格式
Feb 04 Python
如何安装并在pycharm使用selenium的方法
Apr 30 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 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
一个改进的UBB类
2006/10/09 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
浅析PHP绘图技术
2013/07/03 PHP
thinkphp学习笔记之多表查询
2014/07/28 PHP
如何在HTML 中嵌入 PHP 代码
2015/05/13 PHP
php类的定义与继承用法实例
2015/07/07 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
基于php中echo用逗号和用点号的区别详解
2018/01/23 PHP
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
2007/02/15 Javascript
JavaScript 继承详解(四)
2009/07/13 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
JavaScript中数据结构与算法(四):串(BF)
2015/06/19 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
js获取浏览器的各种属性
2017/04/27 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
JavaScript模块详解
2017/12/18 Javascript
VUE实现图片验证码功能
2020/11/18 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
JS如何判断对象是否包含某个属性
2020/08/29 Javascript
Vant 在vue-cli 4.x中按需加载操作
2020/11/05 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
[01:37]TI4西雅图DOTA2前线报道 VG拿下首胜教练357给出获胜秘诀
2014/07/10 DOTA
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
详解 Python中LEGB和闭包及装饰器
2017/08/03 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
利用Python库Scapy解析pcap文件的方法
2019/07/23 Python
如何用python批量调整视频声音
2020/12/22 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
创建绿色社区汇报材料
2014/08/22 职场文书
校长个人总结
2015/03/03 职场文书
团组织关系介绍信
2019/06/24 职场文书
MySQL 百万级数据的4种查询优化方式
2021/06/07 MySQL