1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| from PIL import Image import os import sys
def gif_to_frames(gif_path, output_folder): gif = Image.open(gif_path) if not os.path.exists(output_folder): os.makedirs(output_folder) gif_name = os.path.splitext(os.path.basename(gif_path))[0] frame_number = 0 try: while True: frame = gif.copy() frame.save(os.path.join(output_folder, f"{gif_name}_frame_{frame_number:04d}.png"), "PNG") frame_number += 1 gif.seek(gif.tell() + 1) except EOFError: pass
gif_path = "your_gif_file_name.gif" output_folder, _ = os.path.splitext(gif_path) gif_to_frames(gif_path, output_folder)
|