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的操作請在我的同類其他部落格檢視。