1. 程式人生 > >Python PIL.Image之拆解GIF圖片

Python PIL.Image之拆解GIF圖片

------------------------------------------------語法基礎------------------------------------------------

import PIL.Image                            使用PIL.Image模組

img=Image.open(gif_path)              開啟圖片的方法,會返回一個物件,對圖片的相關操作都是對這個物件的操作

img.seek(i)                                      選擇某一個幀,這裡不會返回新物件。此時呼叫save方法,其實已經儲存了某一幀。

img.save(save_path)                      儲存圖片,引數為路徑檔名

------------------------------------------------操作方法------------------------------------------------

1.開啟GIF圖片,返回獲得的物件自動定位第0幀圖片

2.儲存當前幀

3.切換到下一幀

4.迴圈2.3步直到丟擲異常。

------------------------------------------------程式碼實現------------------------------------------------

import PIL.Image as Image
import os


def gif_split(path):
    # ############################
    # 這部分用於建立一個資料夾,以便存放拆解的圖片
    save_path = path[:-4]
    try:
        os.mkdir(save_path)
    except:
        pass
    # ############################
    img = Image.open(path)
    try:
        i = 0
        while True:
            print('正在拆解第{}幀...'.format(i))
            img.seek(i)
            img.save('{}/'.format(save_path) + str(i) + '.png')
            i += 1
    except:
        pass
    return save_path, i


if __name__ == '__main__':
    path = '路人甲.gif'
    save_path, i = gif_split(path)
    print('拆解完成,共得到{}張圖片。所屬檔案:{}'.format(i,save_path))

------------------------------------------------效果展示------------------------------------------------

 

 

 

------------------------------------------------結語------------------------------------------------

合併GIF的操作請在我的同類其他部落格檢視。