骚操作 | 用 Python 实现 GIF 倒放
时间:2022-07-24
本文章向大家介绍骚操作 | 用 Python 实现 GIF 倒放,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
简介
提到 GIF,大家应该都比较熟悉,它与 JPG、PNG 等文件格式一样,可用于制作静态图像,但是 GIF 格式还具有一项独有技能:可以用于创建动态图像。
不知大家有没有想过:如果将 GIF 倒放会是一种怎么样的景象?本文我们就用 Python 来实现一下 GIF 倒放。
实现
我们可以将 GIF 看作是由若干张静态图片组成的,要实现倒放,我们只需要将 GIF 分解成一张张静态图片,然后再将这些静态图片倒序合成为 GIF 即可。
倒放的实现需要用到 Pillow 模块,安装使用 pip install pillow
即可,代码的实现也比较简单,如下所示:
# 读取 GIF
im = Image.open("1.gif")
# GIF 图片流的迭代器
iter = ImageSequence.Iterator(im)
index = 1
# 遍历图片流的每一帧
for frame in iter:
print("image %d: mode %s, size %s" % (index, frame.mode, frame.size))
frame.save("./images/img%d.png" % index)
index += 1
# 把 GIF 拆分为图片流
imgs = [frame.copy() for frame in ImageSequence.Iterator(im)]
# 图片流反序
imgs.reverse()
# 将反序后的所有帧图像保存下来
imgs[0].save("reverse.gif", save_all=True, append_images=imgs[1:])
最后,我们来一起看一下实现效果。
源码在公号后台回复 200829 获取。
分享或在看是对我最大的支持
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法