1. 程式人生 > >python作圖都是小把戲,python實現倒放gif動圖,這才牛逼!

python作圖都是小把戲,python實現倒放gif動圖,這才牛逼!

python作圖都是小把戲,python實現倒放gif動圖,這才牛逼!

 

現在的各種動圖層出不窮,深受大家喜歡,今天給大家介紹一個可以把gif動圖倒放的python程式,先來看下效果。

學習Python中有不明白推薦加入交流群
                號:516107834
                群裡有志同道合的小夥伴,互幫互助,
                群裡有不錯的學習教程!

 

 

 

python作圖都是小把戲,python實現倒放gif動圖,這才牛逼!

 

 

python作圖都是小把戲,python實現倒放gif動圖,這才牛逼!

 

 

 

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

 

python作圖都是小把戲,python實現倒放gif動圖,這才牛逼!

 

 

我們可以看到資料夾中已經有分解的靜態圖片了,每張圖都是gif動圖的某一幀,把所有的靜態圖按倒序連起來就是倒放的gif動圖了,大家可以自己親手去試試看,在學習python的過程中大家務必要自己親手去敲每一行程式碼。