python九宫格拼图_Python制作九宫格图片

这篇博客介绍了如何使用Python处理图片,将其切割成九宫格。首先,检查图片是否为正方形,如果不是,则填充为正方形。然后将图片进行九等分,并保存每个部分为单独的图片。最后展示完成后的九宫格效果。
摘要由CSDN通过智能技术生成

思路:

1、打开要处理的图片

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

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

4、保存处理完的图片

原图:

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)

最终效果:

九宫格

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值