前言

GIF图现在已经融入了我们的日常网络生活,微信群、QQ群、朋友圈......一言不合就斗图,你怕了吗?不用担心,只要学会了Python之GIF倒放技能,你就是“斗图王”。

咱们直接开始本文的内容!

你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉-LMLPHP

你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉-LMLPHP

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') #将每次分离出来的帧保存
你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉-LMLPHP

3:将得到的序列通过reverse()函数倒序

sequence.reverse()

4:将得到的帧序列重新还原成GIF:

sequence[0].save(r'./out_zr640.gif',save_all = True, append_images=sequence[1:]) #倒放的gif图保存在当前目录下

效果展示:

你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉-LMLPHP

你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉-LMLPHP

你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉-LMLPHP

你想不到的沙雕,10行代码Python实现GIF图倒放,每天的快乐源泉-LMLPHP
05-17 00:12