小編給大家分享一下Python實(shí)現(xiàn)拆分和合并GIF動(dòng)態(tài)圖,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是成都創(chuàng)新互聯(lián)的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個(gè)不僅審美在線,而且實(shí)用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對網(wǎng)站設(shè)計(jì)制作、網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計(jì)、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。“表情包”是當(dāng)前社交軟件上不可或缺的交流方式,難以用文字表達(dá)的意思,發(fā)一個(gè)“表情包”,對方就能心領(lǐng)神會(huì)。下面是小派制作的一個(gè)表情包,準(zhǔn)確地講,是在已有表情包的基礎(chǔ)上,二次加工而成的。
下面以最簡單的代碼形式(10行左右),介紹上述“表情包”的制作過程。第一,將GIF動(dòng)態(tài)圖拆分成圖形幀。下圖是網(wǎng)絡(luò)上找到的一個(gè)GIF格式動(dòng)態(tài)圖。
利用Python將上述GIF格式動(dòng)態(tài)圖拆分圖形幀,只需要輸入以下代碼。其中第1-2行是導(dǎo)入os庫、從PIL庫中導(dǎo)入Image函數(shù)功能。第3行是Image.open打開位于D盤路徑下名為“first.gif”的動(dòng)態(tài)圖。第4行是建立名為“圖形拆分”的文件夾,用于保存拆分后的圖形幀。第5-12是利用try-except異常處理和while循環(huán)查找、保存圖形幀到“圖形拆分”文件夾中。第12行是打印共計(jì)拆分出多少圖形幀。這個(gè)Python拆分GIF動(dòng)態(tài)圖的代碼也就13行,相對其他方法是非常簡單的。
import os from PIL import Image im = Image.open('D:\\Python\\gif\\first.gif') os.mkdir('圖形拆分') try: i = 0 while True: im.seek(i) im.save('圖形拆分/'+str(i)+'.png') i = i +1 except: pass print('共拆解圖像幀數(shù)'+str(i))
運(yùn)行上述代碼,便將名為“first.gif”的動(dòng)態(tài)圖拆分成如下36幀圖形。
第二,對拆分后的圖形進(jìn)行二次加工。比如打上自己喜歡的“臺(tái)詞”,這里把“出來浪啦”4個(gè)字打到上述拆分后的圖形上,可以使用Photoshop等圖形處理工具。如果使用Photoshop的話,因?yàn)椴鸱趾蟮膱D形為png格式,直接打開會(huì)顯示“索引”狀態(tài),此時(shí)可以通過“圖像”-->“模式”-->“RGB顏色”將png變成圖層,然后通過“移動(dòng)”-->“頂部對齊/右邊對齊”將多幀圖形圖層疊加對齊,然后再打上“臺(tái)詞”并逐個(gè)保存成png,如下圖。當(dāng)然不使用Photoshop,使用其他軟件添加文字也行。這里將二次加工后的圖形保存在“圖形合并”文件夾中,方便第三步操作。
第三,Python將第二步中的圖形幀合并成GIF動(dòng)態(tài)圖。輸入如下代碼即可:第1行是導(dǎo)入imageio,os模塊,第2行建立一個(gè)名為images的空文件,用于保存多幀圖形。第3行os.listdir()列表化返回“圖形合并”文件夾中所有圖形名。第4-5行for-in循環(huán)讀取列表化的圖形名。第6行imageio.mimsave()生成GIF格式動(dòng)態(tài)圖,duration=0.1表示每幀圖形間隔0.1秒。這個(gè)Python合并GIF動(dòng)態(tài)圖的代碼更加簡單,才6行。
import imageio, os images = [] numberlist = os.listdir('圖形合并') for i in range(len(numberlist)): images.append(imageio.imread('圖形合并/'+numberlist[i])) imageio.mimsave('newfirst.gif',images,'GIF',duration=
保存和運(yùn)行上述代碼,便得到了Python制作的表情包“出來浪啦”。
當(dāng)然現(xiàn)在有很多制作“表情包”的軟件,不需要這么復(fù)雜。但這里主要是感受Python拆分GIF動(dòng)態(tài)圖成多個(gè)圖形幀,以及合并多個(gè)圖形幀成GIF動(dòng)態(tài)圖的過程。
以上是“Python實(shí)現(xiàn)拆分和合并GIF動(dòng)態(tài)圖”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前文章:Python實(shí)現(xiàn)拆分和合并GIF動(dòng)態(tài)圖-創(chuàng)新互聯(lián)
鏈接地址:http://jinyejixie.com/article0/djepoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、定制網(wǎng)站、網(wǎng)站制作、品牌網(wǎng)站建設(shè)、定制開發(fā)、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容