python制作gif动画_实用的Python(2)利用Python制作gif动图
一、簡介
moviepy是一個專門用于視頻剪輯制作的模塊,可以自動化完成很多繁瑣的視頻剪輯處理工作,除了處理視頻數(shù)據(jù)之外,moviepy中還內(nèi)置了可以制作gif動圖的功能,通過使用moviepy.editor中的ImageSequenceClip,可以以自動化的方式批量生成指定參數(shù)要求的gif動圖,本文就將針對ImageSequenceClip的使用展開介紹。
二、利用ImageSequenceClip()合成動圖
ImageSequenceClip()中的主要參數(shù)如下:
sequence:這個參數(shù)控制用于制作gif動圖的圖片,有三種傳入形式:
1、傳入字符串:當(dāng)傳入字符串時,這個字符串表示的是存放指定一系列圖片的文件夾(只能存在所需圖片文件)路徑
2、傳入列表:當(dāng)傳入列表時,這個列表按順序存放制作動圖所需的圖片文件名稱
3、傳入元素為numpy數(shù)組的列表:這種方式下所傳入列表中每個元素是對應(yīng)一張圖片的numpy數(shù)組,不太推薦這種方式是因?yàn)樾枰獙⑺鑸D片共同讀入內(nèi)存中,對于所需圖片數(shù)量較多的時候?qū)?nèi)存可能會造成一定的壓力
fps:這個參數(shù)用于控制gif動圖的幀率,譬如傳入fps=1時表示每秒切換一張動圖
下面我們通過一個完整的例子來進(jìn)行演示,首先我們新建一個文件夾并在里面放入一張空白圖片seed.png,接下來我們利用PIL中的ImageDraw向空白圖像上繪制數(shù)字:
from PIL importImageFont,Image,ImageDrawimportos
os.chdir(r'C:\Users\hp\Desktop\gif示例')#設(shè)置字體和字號大小
font = ImageFont.truetype('simhei.ttf',200)for idx in tqdm_notebook([i for i in range(1,11)][::-1]):
im1=Image.open('seed.png')#在圖片上添加文字
draw =ImageDraw.Draw(im1)
draw.text((200,150),str(idx),(0,0,0),font)
draw=ImageDraw.Draw(im1)#保存圖片
im1.save('./imgs/'+str(idx)+".png")
得到如下圖片:
接下來我們來制作一個簡單的倒計時gif:
from moviepy.editor importImageSequenceClip
img_names= ['./imgs/'+str(i)+'.png' for i in range(1,11)]
img_names.reverse()
clip= ImageSequenceClip(img_names,fps=1)
clip.write_gif('demo.gif')
效果如下:
以上就是本文的全部內(nèi)容,如有筆誤望指出!
總結(jié)
以上是生活随笔為你收集整理的python制作gif动画_实用的Python(2)利用Python制作gif动图的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python turtle库画椭圆_如何
- 下一篇: python 读取鼠标选中文本_木辛老师