阅读(3950) (0)

Pillow 图像序列

2021-07-06 11:56:53 更新

python图像库包含对图像序列(也称为动画格式)的一些基本支持。支持的序列格式包括fli/flc、gif和一些实验格式。TIFF文件也可以包含多个帧。

打开序列文件时,PIL会自动加载序列中的第一帧。您可以使用Seek和Tell方法在不同的帧之间移动:

读取序列

from PIL import Image

with Image.open("animation.gif") as im:
    im.seek(1) # skip to the second frame

    try:
        while 1:
            im.seek(im.tell()+1)
            # do something to im
    except EOFError:
        pass # end of sequence

如本例所示,您将得到 ​EOFError ​序列结束时出现异常。

以下类允许您使用for语句循环序列:

使用ImageSequence迭代器类

from PIL import ImageSequence
for frame in ImageSequence.Iterator(im):
    # ...do something to frame...