问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Pillow教程:九宫格切图的实现方法

创作时间:
作者:
@小白创作中心

Pillow教程:九宫格切图的实现方法

引用
CSDN
1.
https://blog.csdn.net/gxz888/article/details/137505816

本文将介绍如何使用Python的Pillow库实现九宫格切图功能。我们将加载一张原始图片,将其分割成9个部分,并在每部分之间添加白色间距,最后保存为新的图片。

实现步骤

  1. 加载原始图片
from PIL import Image

# 加载原始图片
original_image = Image.open('花.png')
  1. 计算每份图片的大小
# 获取图片的宽度和高度
width, height = original_image.size

# 计算每份图片的大小
part_width = width // 3  # 宽,三等分
part_height = height // 3  # 高,三等分
  1. 定义每份图片之间的白色间距
# 定义每份图片之间的白色间距
spacing = 5  # 例如,间距为5像素

# 计算带有间距的新图片的宽度和高度
new_width = width + 2 * spacing  # 两侧各加间距
new_height = height + 2 * spacing  # 上下两侧各加间距
  1. 创建新的图片
# 创建一个新的图片,用于存储所有带有间距的分割图片
new_image = Image.new('RGB', (new_width, new_height), color='white')  # 使用白色作为背景
  1. 遍历图片的每一部分
# 遍历图片的每一部分
for i in range(3):
    for j in range(3):
        # 计算当前部分的起始坐标,考虑到间距
        new_x = j * (part_width + spacing) + spacing
        new_y = i * (part_height + spacing) + spacing

        # 切割出当前部分的图片
        box = (j * part_width, i * part_height, (j + 1) * part_width, (i + 1) * part_height)
        part_image = original_image.crop(box)

        # 将切割出的图片粘贴到新图片中的对应位置(考虑到间距)
        new_image.paste(part_image, (new_x, new_y))
  1. 保存新的图片
# 保存新的图片
new_image.save('new_image_composed.png')

效果展示

原图

九宫图

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号