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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • winzip15.0许可证

    winzip15.0许可证

    2021年12月30日
    62
  • 配置远程连接MySQL数据库

    原创作品,出自“深蓝的blog”博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任。深蓝的blog: 使用mysql远程连接软件(MySQL-Front),远程连接报错: [root@master~]#mysql-uroot@localhostWelcometotheMySQLmonitor. Commandsendwith;o

    2022年4月11日
    40
  • pycharm怎么更新包_python 开发web项目

    pycharm怎么更新包_python 开发web项目运行环境使用的是python2.5,想在项目中换成python3.6,安装完Python3.6后。打开Pycharm:File->Settings->找到project:*******->ProjectInterpreter,然后直接在下拉框里选择你已经安装的好的版本(只要在系统里安装好python版本,配置好环境变量,Pycharm会自动加载)。确认即可统一…

    2022年8月29日
    3
  • fiddler抓包模拟器教程_wpe手机模拟器抓包

    fiddler抓包模拟器教程_wpe手机模拟器抓包1.打开,Fiddler.点击tools设置,把HPPPS证书保存在桌面,拖动到安卓模拟器里面.重启Fiddler2.长按网络,修改主机名和端口.在设置[安全]里,添加证书.转载于:https://www.cnblogs.com/limi2019/articles/11411904.html…

    2022年10月2日
    2
  • c语言和java语言哪个比较好

    c语言和java语言哪个比较好c语言和java语言哪个比较好java语言和c语言的区别有单文件的编译时间java比c语言快;c语言可以直接操作内存,java不能直接操作;c语言可以封装动态库,java不行;c语言有指针,java没有指针;c语言可以直接操作串口,java需要第三方jar包支持等等,那么c语言和java语言哪个比较好?两者有什么区别呢?下面就来具体了解一下。1、c语言可以直接操作串口,java需要第三方jar包支持;c语言的线程更加灵活,java的线程都已经封装好了;c语言做单独功能,可以增加效率,java适用做w

    2022年7月16日
    11
  • matlab fmincon优化,求教Matlab用fmincon做优化计算

    matlab fmincon优化,求教Matlab用fmincon做优化计算本人利用fmincon做优化计算,其程序如下:1,主程序clearallx0=[0.1,0.3,0.2,0.3,0.1,45,0.214,0.05,0,0.45,0.15,0,0.4,0.12,0,0,0,0,0,0,0,0,0,0,0,0];A=[1-1-110000000000000000000000;11-1-10000…

    2022年6月7日
    33

发表回复

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

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