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