import os import re import imageio pic_list = os.listdir() pic_type = ['png', 'jpg', 'jpeg', 'bmp'] def create_gif(image_list, gif_name, duration): """ gif_name : 字符串,所生成的 gif 文件名,帶 .gif 后綴 path : 需要合成為 gif 的圖片所在路徑 duration : gif 圖像時間間隔 """ frames = [] # 把圖片 append 進列表 for image_name in image_list: frames.append(imageio.imread(image_name)) # 保存為 gif 圖 imageio.mimsave(gif_name, frames, 'GIF', duration=duration) return def main(): # -------- 獲取要拼合的圖片列表 ------- image_list = [] for p in pic_list: for pt in pic_type: if pt in p: image_list.append(p) image_list.sort(key=lambda i: int(re.match(r'(\d+)', i).group())) print(image_list) # --------- 生成gif圖片名稱 --------- gif_name = 'new.gif' # --------- 變換時間 ------- duration = 1 create_gif(image_list, gif_name, duration) if __name__ == "__main__": main()
