简介

提到 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:])

最初,咱们来一起看一下实现成果。

欢送微信搜寻 Python小二,第一工夫浏览、获取源码,回复关键字 1024 能够收费支付集体整顿的各类编程语言学习材料。