python save用法_骚操作 | 用 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:])

最后,我们来一起看一下实现效果。

fb3e3f0ec2066f8b4b1634db3d8adf77.gif

fb7c5f998ae138cafaf8b56200c8389b.gif
http://www.makeru.com.cn/course/details/2189.html?s=144282​www.makeru.com.cn
3f4610b7404bc1b0a14ec36a967cdac6.png
python高级用法_iOS-创客学院 python高级用法_iOS-创客学院​www.makeru.com.cn
3f4610b7404bc1b0a14ec36a967cdac6.png

2391cc25b0ec43461267253ba32cff0b.png

版权声明:本文为weixin_42212792原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。