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)[ソース]

このクラスは、イメージシーケンスをループ処理するために使用できるイテレータオブジェクトを実装します。

インデックスで要素にアクセスするには、[] 演算子を使用できます。存在しないフレームにアクセスしようとすると、この演算子は IndexError を発生させます。

パラメーター:

im – イメージオブジェクト。

関数

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

画像または画像のリスト内のすべてのフレームに、指定された関数を適用します。フレームは個別のイメージのリストとして返されます。

パラメーター:
  • im – 画像、または画像のリスト。

  • func – すべてのイメージフレームに適用する関数。

戻り値:

イメージのリスト。