91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python實現拆分和合并GIF動態圖

發布時間:2021-04-06 10:26:30 來源:億速云 閱讀:375 作者:小新 欄目:開發技術

小編給大家分享一下Python實現拆分和合并GIF動態圖,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

“表情包”是當前社交軟件上不可或缺的交流方式,難以用文字表達的意思,發一個“表情包”,對方就能心領神會。下面是小派制作的一個表情包,準確地講,是在已有表情包的基礎上,二次加工而成的。

下面以最簡單的代碼形式(10行左右),介紹上述“表情包”的制作過程。第一,將GIF動態圖拆分成圖形幀。下圖是網絡上找到的一個GIF格式動態圖。

Python實現拆分和合并GIF動態圖

利用Python將上述GIF格式動態圖拆分圖形幀,只需要輸入以下代碼。其中第1-2行是導入os庫、從PIL庫中導入Image函數功能。第3行是Image.open打開位于D盤路徑下名為“first.gif”的動態圖。第4行是建立名為“圖形拆分”的文件夾,用于保存拆分后的圖形幀。第5-12是利用try-except異常處理和while循環查找、保存圖形幀到“圖形拆分”文件夾中。第12行是打印共計拆分出多少圖形幀。這個Python拆分GIF動態圖的代碼也就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('共拆解圖像幀數'+str(i))

運行上述代碼,便將名為“first.gif”的動態圖拆分成如下36幀圖形。

Python實現拆分和合并GIF動態圖

第二,對拆分后的圖形進行二次加工。比如打上自己喜歡的“臺詞”,這里把“出來浪啦”4個字打到上述拆分后的圖形上,可以使用Photoshop等圖形處理工具。如果使用Photoshop的話,因為拆分后的圖形為png格式,直接打開會顯示“索引”狀態,此時可以通過“圖像”-->“模式”-->“RGB顏色”將png變成圖層,然后通過“移動”-->“頂部對齊/右邊對齊”將多幀圖形圖層疊加對齊,然后再打上“臺詞”并逐個保存成png,如下圖。當然不使用Photoshop,使用其他軟件添加文字也行。這里將二次加工后的圖形保存在“圖形合并”文件夾中,方便第三步操作。

Python實現拆分和合并GIF動態圖

第三,Python將第二步中的圖形幀合并成GIF動態圖。輸入如下代碼即可:第1行是導入imageio,os模塊,第2行建立一個名為images的空文件,用于保存多幀圖形。第3行os.listdir()列表化返回“圖形合并”文件夾中所有圖形名。第4-5行for-in循環讀取列表化的圖形名。第6行imageio.mimsave()生成GIF格式動態圖,duration=0.1表示每幀圖形間隔0.1秒。這個Python合并GIF動態圖的代碼更加簡單,才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=

保存和運行上述代碼,便得到了Python制作的表情包“出來浪啦”。

Python實現拆分和合并GIF動態圖

當然現在有很多制作“表情包”的軟件,不需要這么復雜。但這里主要是感受Python拆分GIF動態圖成多個圖形幀,以及合并多個圖形幀成GIF動態圖的過程。

以上是“Python實現拆分和合并GIF動態圖”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

茌平县| 衡山县| 汶川县| 中方县| 桑日县| 瑞金市| 开平市| 高淳县| 深泽县| 柳江县| 曲阳县| 苍梧县| 彰化县| 进贤县| 丘北县| 确山县| 轮台县| 田阳县| 成都市| 贵德县| 紫金县| 临猗县| 九寨沟县| 崇文区| 宜川县| 莱阳市| 彩票| 会泽县| 桓台县| 卓资县| 宁晋县| 贡嘎县| 象州县| 佛学| 琼海市| 耒阳市| 抚远县| 武乡县| 西丰县| 兖州市| 苗栗市|