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