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

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、对切割之后的图片列表打乱顺序;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115151.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 新书问答 :《看板成熟度模型》

    新书问答 :《看板成熟度模型》

    2021年6月5日
    126
  • Linux04:(4.6k)vim编辑器「建议收藏」

    Linux04:(4.6k)vim编辑器「建议收藏」文章目录Linux_day04一.vim编辑器vim的三种模式1.命令模式2.末行模式3.编辑模式实用功能扩展内容==1.vim的配置文件==2.异常退出问题3.别名机制4.退出方式补充一些win10下的快捷键Linux_day04一.vim编辑器vim的三种模式命令模式不能对文件直接编辑,但可以通过快捷键删除行,复制,粘贴,移动光标等编辑模式-输入末行模式可以在末行输入命令:搜索,替换,保存,退出,撤销vim打开文件的方式:1.#vim 文件路径——直接打开文件(光

    2022年8月9日
    6
  • Python 函数 | map 函数详解

    Python 函数 | map 函数详解博友们 你们好 很高兴能在这里和大家分享技术文章 我是 AmoXiang 是一名在职企业员工 Amo 来源于上家公司的英文名 本意是爱 作为刚入行几年互联网行业的小白 博主写博客一方面是为了记录自己的学习过程以及所犯的错误 更多的是希望能够帮助到很多处于起步阶段的萌新 让他们少走弯路 在编写文章时 参考了大量书籍及一些互联网大佬的资源 并结合了自己的工作经验 博主本着科学 严谨的态度 力求精益求精 但疏漏之处在所难免 敬请广大博友批评指正 博客主页 https blog csdn net xw16

    2025年12月3日
    6
  • java详细安装教程(供新手参考)一一java(jdk)安装

    java详细安装教程(供新手参考)一一java(jdk)安装一、java历史简介1991年Sun公司的JamesGosling等人开始开发名称为Oak(橡树)的语言。希望用于控制嵌入在有线电视交换盒、PDA等的微处理器,1994年将Oak语言更名为Java1998年JDK1.2时,更名为Java2Platform分为标准版J2SE,企业版J2EE,微型版J2MEJava既安全、可移植,又可跨平台,而且人们发现它能够解决In…

    2022年7月8日
    30
  • 章节1:SQL语言简易入门

    章节1:SQL语言简易入门

    2022年2月23日
    46
  • [77]pymongo连接认证 auth failed解决方法

    [77]pymongo连接认证 auth failed解决方法1.查看pymongo版本:结果为3.2piplist-v2.查看mongoDB版本:结果为2.6在mongo终端中输入db.version()mongoDB有不同的认证机制,3.0版本以后采用的是’SCRAM-SHA-1’,之前的版本采用的是’MONGODB-CR’。所以,以我的版本情况,显然应该用’MONGODB-CR’用下面的方法连接,就成功了。…

    2022年7月15日
    15

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号