吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2881|回复: 5
收起左侧

[Python 转载] 用python PIL库生成九宫格图片

  [复制链接]
daowuya 发表于 2019-5-7 11:42
非常重要【TIPs】python3.0x环境,选图片的时候,一定要选择规范等比例的(.jpg文件),不然在处理图片返回数值的时候,int方法会报错。图片名自定义,要与代码同一目录
[Python] 纯文本查看 复制代码
from PIL import Image

image = Image.open('a.jpg')'''选择图片'''
width, height = image.size

#  高和宽进行比较,较大的为新图片的长度
new_length = height if height > width else width

# 创建一张正方形空图片,底色为白色,
new_image = Image.new(image.mode, (new_length, new_length), color='white')

# 将要处理的图片粘贴到新创建的图片上,居中
if height > width: # 如果高度大于宽,则填充图片的宽度
    new_image.paste(image, (int((new_length - width) / 2)), 0)
else:
    new_image.paste(image, (0, int((new_length - height) / 2)))

# 朋友圈一排三张图片因此宽度切割成3份
new_length = int(new_length / 3)
# 用来保存每一个切图
box_list = []
for i in range(0, 3):
    for j in range(0, 3):
        # 确定每个图片的位置
        box = (j * new_length, i * new_length, (j + 1) * new_length, (i + 1) * new_length)  # (left, top, right, bottom)
        box_list.append(box)
# 通过crop函数对图片进行切割
image_list = [new_image.crop(box) for box in box_list]

for (index, image) in enumerate(image_list):
    image.save(str(index) + '.png', 'PNG')
print("九宫格图片生成完毕!")



免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
为海尔而战 + 1 + 1 感谢!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Fris 发表于 2019-5-7 12:07
[Python] 纯文本查看 复制代码
#  高和宽进行比较,较大的为新图片的长度
new_length = height if height > width else width

可以改成:
[Python] 纯文本查看 复制代码
#  高和宽进行比较,较大的为新图片的长度
new_length = max(height,width)
头像被屏蔽
hellokits 发表于 2019-5-7 15:20
 楼主| daowuya 发表于 2019-5-7 15:47
Fris 发表于 2019-5-7 12:07
[mw_shl_code=python,true]#  高和宽进行比较,较大的为新图片的长度
new_length = height if height > wi ...

简洁代码   
fengwolf3 发表于 2019-5-7 16:39
规范等比例的(.jpg文件) 这个有没有方便的方法?
gsjqwyl 发表于 2019-5-8 17:05
这不是我公众号里的代码吗~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 08:19

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表