python热爱者Python新世界

python作图都是小把戏,python实现倒放gif动图,这才

2018-11-20  本文已影响1人  48e0a32026ae

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

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

from PIL import Image, ImageSequence

im = 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, ImageSequence

im = Image.open(r'./zr651.gif')

sequence = []

i = 0

for 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的过程中大家务必要自己亲手去敲每一行代码。

上一篇下一篇

猜你喜欢

热点阅读