1. 程式人生 > >python實現倒放gif動圖

python實現倒放gif動圖

現在的各種動圖層出不窮,深受大家喜歡,今天給大家介紹一個可以把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的過程中大家務必要自己親手去敲每一行程式碼。