Python:將GIF圖片分解為多張圖片
-
準備工作
-
準備一張GIF圖片
-
安裝 Python3
安裝 PIL
-
Python實現
from PIL import Image import os import random class GIFTest: def __init__(self, file_name): self.file_name = file_name # 傳入的文件名 self.dir_name = self.file_name[:-4] # 根據文件名創(chuàng)建存放分幀圖片的文件夾 self.gif_path = os.path.join(os.path.dirname(__file__), file_name) # 拼接圖片文件的完整路徑(僅限同一文件夾內) self.make_dir() def make_dir(self): """用于創(chuàng)建存放分幀圖片的文件夾""" try: os.mkdir(self.dir_name) except FileExistsError: print('<%s>文件夾已存在' % self.dir_name) self.dir_name += str(random.randint(0, 10)) os.mkdir(self.dir_name) def framing_test(self): """GIF圖片分幀""" img = Image.open(self.gif_path) try: while True: curr = img.tell() name = os.path.join(self.dir_name, '第%s幀.png' % str(curr + 1)) img.save(name) img.seek(curr+1) except Exception as e: pass if __name__ == '__main__': GIFTest('test.gif').framing_test()
-
最終結果
Key words
GIF趴泌、GIF圖片分幀讽膏、PIL、GIF動圖分成單幀圖片