Python制作九宫格图片

系统 1704 0

思路:

1、打开要处理的图片

2、判断打开的图片是否为正方形

3、如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分

4、保存处理完的图片

原图:

Python制作九宫格图片_第1张图片

            
              from PIL import Image


def cutNine(im):
    w = int(im.width/3)
    boxList = []
    for i in range(0,3):
        for j in range(0,3):
            box = (j*w, i*w, (j+1)*w, (i+1)*w)
            boxList.append(box)
    imageList = [im.crop(box) for box in boxList]
    return imageList


def fillSquare(im):
    w = im.width if im.width>im.height else im.height
    newImage = Image.new(im.mode, (w,w), color='white')
    if im.width>im.height:
        newImage.paste(im, (0,int((w-im.height)/2)))
    else:
        newImage.paste(im, (int((w-im.width)/2),0))
    return newImage


def save_images(imList):
    index = 1
    for image in imList:
        image.save(r'./result/cat'+str(index)+'.png', 'PNG')
        index += 1


im = Image.open(r'./res/猫咪.jpg')
if(im.width == im.height):
    imageList = cutNine(im)
else:
    new_im = fillSquare(im)
    imageList = cutNine(new_im)
save_images(imageList)


            
          

最终效果:

Python制作九宫格图片_第2张图片 九宫格

 

 


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论