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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值