你想不到的沙雕,10行代碼Python實(shí)現(xiàn)GIF圖倒放,每天的快樂(lè)源泉
2020-06-05 15:03 作者:松鼠愛(ài)吃餅干 | 我要投稿
前言
GIF圖現(xiàn)在已經(jīng)融入了我們的日常網(wǎng)絡(luò)生活,微信群、QQ群、朋友圈......一言不合就斗圖,你怕了嗎?不用擔(dān)心,只要學(xué)會(huì)了Python之GIF倒放技能,你就是“斗圖王”。
咱們直接開始本文的內(nèi)容!


PIL(Python Image Library)
它是python的第三方圖像處理庫(kù),功能非常的強(qiáng)大,幾乎被認(rèn)定為Python的官方圖像處理庫(kù)。
1:導(dǎo)入PIL庫(kù)的模塊
from PIL import Image, ImageSequence ?#導(dǎo)入PIL庫(kù)的Image和 ImageSequence 模塊
im = Image.open(r'./1.gif') ? #注意把gif動(dòng)圖放在該程序的相同目錄下
2:將GIF圖分解
為了能更直觀的理解這個(gè)程序的原理,我們可以將程序分解gif動(dòng)圖的圖片都保存下來(lái)看看
sequence = [] ?#用來(lái)存放GIF分解成幀的序列
i=0
for f in ImageSequence.Iterator(im): ?#循環(huán)訪問(wèn)GIF中的逐幀
? ?sequence.append(f.copy())
? ?i+=1
? ?f.save('out_'+str(i)+'.png') ? ? #將每次分離出來(lái)的幀保存

3:將得到的序列通過(guò)reverse()函數(shù)倒序
sequence.reverse()
4:將得到的幀序列重新還原成GIF:
sequence[0].save(r'./out_zr640.gif',save_all = True, append_images=sequence[1:]) #倒放的gif圖保存在當(dāng)前目錄下
效果展示:


標(biāo)簽: