现在的各种动图层出不穷,深受大家喜欢,今天给大家介绍一个可以把gif动图倒放的python程序,先来看下效果。

gif动图简单理解就是由一组若干张图片按照一定的顺序循环播放,如果我们能把一张gif动图分解成若干张图,然后再把这若干张图倒序排列,不就可以实现了gif动图倒放了,没错在python中还真就有这么个第三方库ImageSequence,我们先来看下完成的代码实现。

from PIL import Image, ImageSequenceim = Image.open(r'./zr651.gif') #注意把gif动图放在该程序的相同目录下sequence = []for f in ImageSequence.Iterator(im):    sequence.append(f.copy())    sequence.reverse()sequence[0].save(r'./out_zr651.gif',save_all = True, append_images=sequence[1:]) #倒放的gif图保存在当前目录下

为了能更直观的理解这个程序的原理,我们对程序再稍作处理,我们可以将程序分解gif动图的图片都保存下来看看,下面是改动后的代码。

from PIL import Image, ImageSequenceim = Image.open(r'./zr651.gif')sequence = []i = 0for f in ImageSequence.Iterator(im):    sequence.append(f.copy())    i+=1    f.save(r'./out_'+str(i)+'.png') #这里把分解到的每一张静态图保存到当前目录下sequence.reverse()# sequence[0].save(r'./out_zr651.gif',save_all = True, append_images=sequence[1:])

我们可以看到文件夹中已经有分解的静态图片了,每张图都是gif动图的某一帧,把所有的静态图按倒序连起来就是倒放的gif动图了,大家可以自己亲手去试试看,在学习python的过程中大家务必要自己亲手去敲每一行代码。


谭小谭
11 声望2 粉丝