Python 技术篇-3行代码实现Gif动画生成,Gif动画素材获取方法

2020-09-23 11:01:20 浏览数 (2)

我们需要用到 imageio 库,直接pip install imageio就安装了。 原理就是把很多个图片在规定时间内依次展示,就变为我们所见到的动画样式了。

收集素材

利用 PIL 的截图功能,每 0.1 秒截个图,共 10 秒,一共 100 张。 因为原图太大了,我们用 resize() 修改一下图片尺寸,使图片小一点。

代码语言:javascript复制
from PIL import ImageGrab
from PIL import Image

for i in range(0,100):
    time.sleep(0.1)
    img = ImageGrab.grab()
    width = img.size[0]
    height = img.size[1]
    img = img.resize((int(width*0.3), int(height*0.3)), Image.ANTIALIAS)
    img.save("grab\hello" str(i) ".jpg")

素材展示:

Gif制作

fps 就是图片切换的频率,越大越快。 gif_images 就是图片素材集,通过 imread() 读取本地的图片后依次加入进来。

代码语言:javascript复制
import imageio

gif_images = []
for i in range(0, 100):
    gif_images.append(imageio.imread("grab\hello" str(i) ".jpg"))   # 读取图片
imageio.mimsave("hello.gif", gif_images, fps=5)   # 转化为gif动画

运行效果图:

0 人点赞