ImageSequence 模块#

这个 ImageSequence 模块包含一个包装类,该类允许您遍历图像序列的帧。

从动画中提取帧#

from PIL import Image, ImageSequence

with Image.open("animation.fli") as im:
    index = 1
    for frame in ImageSequence.Iterator(im):
        frame.save(f"frame{index}.png")
        index += 1

这个 Iterator#

class PIL.ImageSequence.Iterator(im)[源代码]#

此类实现一个迭代器对象,该对象可用于循环图像序列。

你可以使用 [] 通过索引访问元素的运算符。此操作员将提升 IndexError 如果你试图进入一个不存在的框架。

参数:

im -- 图像对象。

功能#

PIL.ImageSequence.all_frames(im, func=None)[源代码]#

将给定函数应用于图像或图像列表中的所有帧。这些帧作为单独图像的列表返回。

参数:
  • im -- 一幅图像或一组图像。

  • func -- 要应用于所有图像帧的函数。

返回:

图像列表。