Python | 一鍵生成九宮格圖片
阿新 • • 發佈:2021-10-08
一鍵生成九宮格的圖片喔~~~
一鍵生成九宮格圖片
首先我們準備幾張圖片:
將程式碼檔案放在放置圖片的地方,用軟體開啟:
點選執行,在當前目錄下會生成一個資料夾:
開啟新生成的資料夾:
開啟對應圖片的名稱資料夾:
如果不想圖片被分成9張,可以註釋掉行尾有標記== # !!!==的程式碼即可:
以下是全部程式碼
import os from PIL import Image def wh_size(w, h): while w % 3 != 0: w += 1 while h % 3 != 0: h += 1 return w, h def jgg_img(image, name): names = path + '\\Nine_GG' + '\\' + name # 圖片名稱 im = Image.open(image) # 開啟圖片 w, h = im.size # 獲取圖片寬高 width, height = wh_size(w, h) im = im.resize((width, height)) # 對圖片寬高進行校準 tr = int(width/100*1.3) # 根據圖片寬設定條紋寬度 img = Image.new('RGB', (width + 2 * tr, height + 2 * tr), color='white') # 新建圖片底圖 zi = os.path.splitext(names)[0] if not os.path.exists(zi): # 建立子資料夾 !!!1 os.mkdir(zi) # !!!2 num = 0 # !!!3 imgtype = os.path.splitext(name)[1] # !!!4 for i in range(3): for j in range(3): m = im.crop((int(width / 3) * j, int(height / 3) * i, int(width / 3) * (j + 1), int(height / 3) * (i + 1))) img.paste(m, (int(width / 3) * j+j*tr, int(height / 3) * i+i*tr)) num += 1 # !!!5 m.save(zi+'//'+str(num)+imgtype) # !!!6 img = img.resize((w, h)) # 調整圖片大小 img.save(names) # 儲存圖片 if __name__ == '__main__': path = os.getcwd() print("請確保當前路徑下,有相應型別的圖片檔案存在!") if not os.path.exists(path + '\\Nine_GG'): # 判斷資料夾是否建立 os.mkdir(path + '\\Nine_GG') for i in os.listdir(): # 迴圈遍歷當前工作路徑下的所有檔案 if os.path.splitext(path + '\\' + i)[1] in ['.jpg', '.png', '.jpeg']: jgg_img(path + '\\' + i, i)
就到這裡啦byebye O(∩_∩)O
Collection:因為這些東西是非常簡單的。不要抱怨自己學不會,那是因為你沒有足夠用心。