Pythonで複数の画像をGIFに変換する方法

PythonのPillowを使って万華鏡画像を大量に作りました。
動画にして見るためにPythonでGIFに変換してみました。

サンプルコード

imgというフォルダに000.pngから127.pngまでの画像が保存されています。
これを繋いで、一つのGIFファイルdst.gifを生成します。

from PIL import Image
fn_gif = "dst.gif"
images = []
for i in range(128):
    number = str(i).zfill(3)
    fn_img = f"img/{number}.png"
    im = Image.open(fn_img)
    images.append(im)
images[0].save(
    fn_gif, save_all=True, append_images=images[1:], optimize=False, duration=100, loop=0
)

リストimagesに画像を格納します。
images[0]で最初の画像を指定します。
append_imagesで二枚目以降の画像を指定します。

出力例

海鮮丼

ケーキ

ピザ

コメント

タイトルとURLをコピーしました