【Python】图片合成动图GIF

有多张图片如何合成动图呢?JPG合成GIF可以用Python代码实现。
需要安装natsort包。
合成之前图片按顺序命名。

import os
import numpy as np
from PIL import Image
from natsort import natsorted
import imageio

# 指定文件夹路径
folder_path = r'D:\pic'

# 获取文件夹内所有jpg文件,并按名称排序
image_files = [f for f in os.listdir(folder_path) if f.endswith('.jpg')]
image_files = natsorted(image_files)

# 读取图片文件并转换为PIL图像对象
images = []
for file in image_files:
    file_path = os.path.join(folder_path, file)
    img = imageio.imread(file_path)
    img_pil = Image.fromarray(img)
    images.append(img_pil)

# 保存为gif动图,指定每帧的时间为13000毫秒(即13秒)
output_file = os.path.join(folder_path, 'time.gif')
# 指定每帧的显示时间为1000毫秒,即1秒
images[0].save(output_file, save_all=True, append_images=images[1:], duration=1000, loop=0)

print("GIF生成成功,保存路径:{}".format(output_file))

你可能感兴趣的:(Python,python,开发语言)