首页 > 其他分享 >Pillow教程11:九宫格切图的实现方法(安排!!!)

Pillow教程11:九宫格切图的实现方法(安排!!!)

时间:2024-04-08 14:02:27浏览次数:29  
标签:11 教程 间距 切图 九宫格 part new Pillow 图片

---------------Pillow教程集合---------------

Python项目18:使用Pillow模块,随机生成4位数的图片验证码

Python教程93:初识Pillow模块(创建Image对象+查看属性+图片的保存与缩放)

Pillow教程02:图片的裁剪+复制粘贴+旋转角度+翻转+降噪滤镜(平滑、锐化、边缘检测)

Pillow教程03:图像处理的基本步骤+分离split+合并merge+混合blend+composite遮罩

Pillow教程04:学习Draw绘制+Font字体+alpha composite方法,给图片添加文字水印

Pillow教程05:NumPy数组和PIL图像的相互转化

Pillow教程06:将图片中出现的黄色和红色,改成绿色

Pillow教程07:批量将png图片,合成GIF动态图

Pillow教程08:调整图片的亮度+对比度+色彩+锐度

Pillow教程09:图片格式(png,jpg,ico等)批量转换+批量修改图片尺寸

Pillow教程10:设计博文的文字背景封面图,再也不担心找不到素材了

脚本中,我们首先计算了带有间距的新图片的宽度和高度。然后,我们计算了每份图片(包括间距)的大小,并在创建新图片时指定了白色作为背景色。在遍历和粘贴每个部分时,我们考虑了间距,并计算了每个部分的起始坐标。最后,我们保存了带有间距的新图片。
请确保将花.png替换为你的图片文件的实际路径,并根据需要调整spacing变量的值以改变间距的大小。执行脚本后,你会得到一个名为new_image_composed.png的新图片,其中包含了原始图片的9个分割部分,并在每部分之间有一定的白色间距。

原图
在这里插入图片描述
九宫图
在这里插入图片描述

# -*- coding: utf-8 -*-
# @Author : 小红牛
# 微信公众号:WdPython
from PIL import Image

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

# 2.计算每份图片的大小
part_width = width // 3  # 宽,三等分
part_height = height // 3  # 高,三等分
# print(part_height, part_width)

# 3.定义每份图片之间的白色间距
spacing = 5  # 例如,间距为5像素

# 计算带有间距的新图片的宽度和高度
new_width = width + 2 * spacing  # 两侧各加间距
new_height = height + 2 * spacing  # 上下两侧各加间距
# 创建一个新的图片,用于存储所有带有间距的分割图片
new_image = Image.new('RGB', (new_width, new_height), color='white')  # 使用白色作为背景

# 4.遍历图片的每一部分
for i in range(3):
    for j in range(3):
        # 计算当前部分的起始坐标,考虑到间距
        new_x = j * (part_width + spacing) + spacing
        new_y = i * (part_height + spacing) + spacing

        # 5.切割出当前部分的图片
        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))

# 5.保存新的图片
new_image.save('new_image_composed.png')

完毕!!感谢您的收看

----------★★历史博文集合★★----------

我的零基础Python教程,Python入门篇 进阶篇 视频教程 Py安装py项目 Python模块 Python爬虫 Json Xpath 正则表达式 Selenium Etree CssGui程序开发 Tkinter Pyqt5 列表元组字典数据可视化 matplotlib 词云图 Pyecharts 海龟画图 Pandas Bug处理 电脑小知识office自动化办公 编程工具 NumPy Pygame 图像处理

标签:11,教程,间距,切图,九宫格,part,new,Pillow,图片
From: https://blog.csdn.net/gxz888/article/details/137505816

相关文章

  • 2023/11 停课训练
    注:这篇文章里的图片都是截图在本地,所以没有上传的必要。/kk注:这篇文章里的图片都是抄袭的/kk注:这篇文章里的图片都是抄袭的/kk注:这篇文章里的图片都是抄袭的/kkAT_arc165_d[ARC165D]SubstringComparison考虑字典序的性质。我们维护当前的\(a_i,c_i\)表示判断\(a_i......
  • 前端学习<四>JavaScript基础——11-流程控制语句:选择结构(if和switch)
    代码块用{}包围起来的代码,就是代码块。在ES5语法中,代码块,只具有分组的作用,没有其他的用途。代码块中的内容,在外部是完全可见的。举例: {   vara=2;   alert('qianguyihao');   console.log('千古壹号'); } ​ console.log('a='+a);打印结......
  • 产品中的图标icon切图、标注、团队配合
    产品中的图标icon切图、标注、团队配合切图切图手段切图图标了解切图结构切图命名状态类型知识总结切图界面设计下的重要能力,将界面内元素单独存成透明背景(例如PNG格式)的图片,并且为了不同设备和屏幕分辨率生成多倍数理想结果。切图手段位图输出和矢量图输出,使......
  • 弟弟11•求和a+aa+aaa...
    这是目录哦题目代码讲解运行结果加油......
  • 20211314 实验一-密码引擎-3-加密API研究
    任务详情密码引擎API的主要标准和规范包括:1微软的CryptoAPI2RAS公司的PKCS#11标准3中国商用密码标准:GMT0016-2012智能密码钥匙密码应用接口规范,GMT0018-2012密码设备应用接口规范等研究以上API接口,总结他们的异同,并以龙脉GM3000Key为例,写出调用不同接口的代码,提交博客......
  • WebSocket manager.js:115 GET http://IP:8000/socket.io/?EIO=4&transport=polling&t
    前言全局说明WebSocket报错net::ERR_CONNECTION_TIMED_OUT一、问题:WebSocket报错net::ERR_CONNECTION_TIMED_OUT二、原因:可能和后端的服务链接不上导致的三、解决方法:重启启动后端服务免责声明:本号所涉及内容仅供安全研究与教学使用,如出现其他风险,后......
  • 产品汪11:产品经理如何了解需求背后的动机
    前文我们已经收集到了一堆需求并且通过深入洞察和分析后,然后决定选取某一个需求进行来进行开发。那么问题来了,我们是直接做这个需求(功能)吗?还是说有必要且应该深入了解,探究该需求背后的真实动机或者意图呢?得到设计师字要大在这之前,我先分享一段得到APP设计师“字要大”的案......
  • Ubuntu22.04修改默认窗口系统为X11
    Ubuntu22.04安装默认窗口系统为Wayland(通过设置->关于可以看到)。一、用UbuntuonXorg会话登录用户登录时,点“未列出”,输入用户名后,在登录界面底部的齿轮图标中,选择"UbuntuonXorg"作为会话类型登录,系统将为当前会话使用Xorg。如果每次手动选择Xorg登录,系统应该记住选......
  • 电子元器件选型与实战应用—11 5000字介绍,三极管的选型和常用电路
    文章目录1.简介2.带阻三极管2.1带阻三极管和普通三极管区别2.2电路案例讲解带阻和普通三极管区别3.三极管常用电路解析3.1三极管门电路3.1.1三极管非门3.1.2三极管与门3.1.3三极管或门3.1.4三极管与非门3.1.5三极管或非门3.2稳压电路......
  • P1314 [NOIP2011 提高组] 聪明的质监员
    P1314[NOIP2011提高组]聪明的质监员题目小T是一名质量监督员,最近负责检验一批矿产的质量。这批矿产共有$n$个矿石,从$1$到$n$逐一编号,每个矿石都有自己的重量$w_i$以及价值$v_i$。检验矿产的流程是:给定$m$个区间$\lbrackl_i,r_i\rbrack$;选出一个参数$W$;......