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的常见命令注入威胁
Feb 18 Python
详解Python的Django框架中的通用视图
May 04 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
Django中的Model操作表的实现
Jul 24 Python
python list转矩阵的实例讲解
Aug 04 Python
django+mysql的使用示例
Nov 23 Python
Python 互换字典的键值对实例
Feb 12 Python
详解Python字符串切片
May 20 Python
Python中PyQt5/PySide2的按钮控件使用实例
Aug 17 Python
解决python web项目意外关闭,但占用端口的问题
Dec 17 Python
Python使用cn2an实现中文数字与阿拉伯数字的相互转换
Mar 02 Python
python百行代码实现汉服圈图片爬取
Nov 23 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判断网页是否gzip压缩
2013/06/25 PHP
php采用curl访问域名返回405 method not allowed提示的解决方法
2014/06/26 PHP
PHP中使用Imagick读取pdf并生成png缩略图实例
2015/01/21 PHP
PHP编写登录验证码功能 附调用方法
2016/05/19 PHP
php中Swoole的热更新实现代码实例
2021/03/04 PHP
JS setCapture 区域外事件捕捉
2010/03/18 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
jquery获取复选框checkbox的值实现方法
2016/05/30 Javascript
mui框架移动开发初体验详解
2017/10/11 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
Vue 2.0 中依赖注入 provide/inject组合实战
2019/06/20 Javascript
d3.js实现图形拖拽
2019/12/19 Javascript
nuxt配置通过指定IP和端口访问的实现
2020/01/08 Javascript
JavaScript 替换所有匹配内容及正则替换方法
2020/02/12 Javascript
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
python处理xml文件的方法小结
2017/05/02 Python
Python实现解析Bit Torrent种子文件内容的方法
2017/08/29 Python
python中如何使用正则表达式的集合字符示例
2017/10/09 Python
查找python项目依赖并生成requirements.txt的方法
2018/07/10 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
Django自定义模板过滤器和标签的实现方法
2019/08/21 Python
Django-xadmin后台导入json数据及后台显示信息图标和主题更改方式
2020/03/11 Python
html5中嵌入视频自动播放的问题解决
2020/05/25 HTML / CSS
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
彪马美国官网:PUMA美国
2017/03/09 全球购物
史蒂夫·马登加拿大官网:Steve Madden加拿大
2017/11/18 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/09/18 面试题
高校自主招生自荐信
2013/12/09 职场文书
保护环境演讲稿
2014/05/10 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
2016年幼儿园教师师德承诺书
2016/03/25 职场文书
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python