python 图片拼图的制作 确定不来尝试一下……

8小时Python零基础轻松入门


图片迷宫九宫格的制作,确定不来尝试一下吗?下面来看一下效果图吧
在这里插入图片描述
在这里插入图片描述
效果是不是不错呢。
下面介绍一下这炫酷的图是如何制作的吧。

1、导入需要使用到的模块

from PIL import Image
import random

2、 输入图片的路径,获取图片的信息

# 导入图片
path = input("请输入图片路径:")
path1 = input("请输入需要保存的路径:")
image = Image.open(path)

# 获取图片数据 大小等
(width, height) = image.size  

3、对图片的大小进行简单的处理(处理大小为3的倍数)

width = width - width % 3
height = height - height % 3

4、对图片进行切割

# 分割图片为九块
image_part = []

image_part.append(image.crop((0, 0, width // 3, height // 3)))
image_part.append(image.crop((width // 3, 0, 2 * width // 3, height // 3)))
image_part.append(image.crop((2 * width // 3, 0, width, height // 3)))
image_part.append(image.crop((0, height // 3, width // 3, 2 * height // 3)))
image_part.append(image.crop((width // 3, height // 3, 2 * width // 3, 2 * height // 3)))
image_part.append(image.crop((2 * width // 3, height // 3, width, 2 * height // 3)))
image_part.append(image.crop((0, 2 * height // 3, width // 3, height)))
image_part.append(image.crop((width // 3, 2 * height // 3, 2 * width // 3, height)))
image_part.append(image.crop((2 * width // 3, 2 * height // 3, width, height)))

5、对获取到的图片数组进行打乱

# 打乱图片顺序
random.shuffle(image_part)

6、新建一个画布,对切割的图片进行粘贴

# 新建一个画布,粘贴进去
    draw = Image.new("RGB", (width,height),color=(255,255,255))
    draw.paste(image_part[0], (0, 0, width // 3,height // 3))
    draw.paste(image_part[1], (width // 3, 0, 2 * width // 3, height // 3))
    draw.paste(image_part[2], (2 * width // 3, 0, width, height // 3))
    draw.paste(image_part[3], (0, height // 3, width // 3, 2 * height // 3))
    draw.paste(image_part[4], (width // 3, height // 3, 2 * width // 3, 2 * height // 3))
    draw.paste(image_part[5], (2 * width // 3, height // 3, width, 2 * height // 3))
    draw.paste(image_part[6], (0, 2 * height // 3, width // 3, height))
    draw.paste(image_part[7], (width // 3, 2 * height // 3, 2 * width // 3, height))
    draw.paste(image_part[8], (2 * width // 3, 2 * height // 3, width, height))

7、保存打乱之后的九宫格图片

draw.save(path1)     # 路径自定义

就这样子迷宫九宫格就制作成功了,是不是很简单呢。快来动手尝试一下吧。

注意:
1、对图片进行切割,记住需要对图片大小进行处理,必须是整数,同时切割之后的大小也必须是整数;(所以要求图片的大小为3的倍数)
2、对切割之后的图片列表打乱顺序;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员吴同学

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值