1. 程式人生 > 其它 >Python | 一鍵生成九宮格圖片

Python | 一鍵生成九宮格圖片

一鍵生成九宮格的圖片喔~~~

一鍵生成九宮格圖片

首先我們準備幾張圖片:

將程式碼檔案放在放置圖片的地方,用軟體開啟:

點選執行,在當前目錄下會生成一個資料夾:

開啟新生成的資料夾:

開啟對應圖片的名稱資料夾:

如果不想圖片被分成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:因為這些東西是非常簡單的。不要抱怨自己學不會,那是因為你沒有足夠用心。