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: Image)[source]

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

你可以使用 [] 运算符通过索引访问元素。如果尝试访问不存在的帧,此运算符将引发 IndexError

参数:

im – 图像对象。

函数

PIL.ImageSequence.all_frames(im: Image | list[Image], func: Callable[[Image], Image] | None = None) list[Image][source]

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

参数:
  • im – 图像或图像列表。

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

返回值:

图像列表。