我们需要用到 imageio 库,直接pip install imageio
就安装了。
原理就是把很多个图片在规定时间内依次展示,就变为我们所见到的动画样式了。
利用 PIL 的截图功能,每 0.1 秒截个图,共 10 秒,一共 100 张。 因为原图太大了,我们用 resize() 修改一下图片尺寸,使图片小一点。
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")
素材展示:
fps 就是图片切换的频率,越大越快。 gif_images 就是图片素材集,通过 imread() 读取本地的图片后依次加入进来。
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动画
运行效果图: