實現效果
將位於/img
目錄下的1000張.png
圖片,轉換成 .webp
格式,並存放於img_webp
資料夾內。
來源圖片目錄
目標圖片目錄
關於大量產生1000張圖片,可以參考這篇文章:利用Python批次產生任意尺寸的圖片
實作範例
import glob import os import threading from PIL import Image def create_image(infile, index): os.path.splitext(infile) im = Image.open(infile) im.save("img_webp/webp_" + str(index) + ".webp", "WEBP") def start(): index = 0 for infile in glob.glob("img/*.png"): t = threading.Thread(target=create_image, args=(infile, index,)) t.start() t.join() index += 1 if __name__ == "__main__": start()
注意:該項目需要引用PIL
庫。
考慮到是大量的線性密集型運算,因此使用了多執行緒並發。透過threading.Thread()
建立執行緒物件時注意,args
參數僅接受元祖。
在這裡,我們使用Image.open()
函數來開啟映像。
最終呼叫save("img_webp/webp_" + str(index) + ".webp", "WEBP")
方法,以指定格式寫入指定位置。其中format
參數為目標格式。
好了,這篇文章的內容到這裡基本上已經結束了,大家都學會了嗎?希望對大家的學習和工作能有一定的幫助。
更多Python將圖片批量從png格式轉換至WebP格式相關文章請關注PHP中文網!