一鍵生成九宮格圖片
首先我們准備幾張圖片:

將代碼文件放在放置圖片的地方,用軟件打開:

點擊運行,在當前目錄下會生成一個文件夾:

打開新生成的文件夾:

打開對應圖片的名稱文件夾:

如果不想圖片被分成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
