首頁 >後端開發 >Python教學 >Python將圖片批次從png格式轉換至WebP格式

Python將圖片批次從png格式轉換至WebP格式

高洛峰
高洛峰原創
2017-02-27 16:48:412310瀏覽

實現效果

將位於/img目錄下的1000張.png圖片,轉換成 .webp格式,並存放於img_webp資料夾內。

Python將圖片批次從png格式轉換至WebP格式
來源圖片目錄

Python將圖片批次從png格式轉換至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中文網!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn