Python | 一键生成九宫格图片
一键生成九宫格图片
首先我们准备几张图片:

将代码文件放在放置图片的地方,用软件打开:

点击运行,在当前目录下会生成一个文件夹:

打开新生成的文件夹:

打开对应图片的名称文件夹:

如果不想图片被分成9张,可以注释掉行尾有标记== # !!!==的代码即可:

以下是全部代码
import os
from PIL import Image
def wh_size(w, h):
while w % 3 != 0:
w += 1
while h % 3 != 0:
h += 1
return w, h
def jgg_img(image, name):
names = path + '\\Nine_GG' + '\\' + name # 图片名称
im = Image.open(image) # 打开图片
w, h = im.size # 获取图片宽高
width, height = wh_size(w, h)
im = im.resize((width, height)) # 对图片宽高进行校准
tr = int(width/100*1.3) # 根据图片宽设置条纹宽度
img = Image.new('RGB', (width + 2 * tr, height + 2 * tr), color='white') # 新建图片底图
zi = os.path.splitext(names)[0]
if not os.path.exists(zi): # 创建子文件夹 !!!1
os.mkdir(zi) # !!!2
num = 0 # !!!3
imgtype = os.path.splitext(name)[1] # !!!4
for i in range(3):
for j in range(3):
m = im.crop((int(width / 3) * j, int(height / 3) * i, int(width / 3) * (j + 1), int(height / 3) * (i + 1)))
img.paste(m, (int(width / 3) * j+j*tr, int(height / 3) * i+i*tr))
num += 1 # !!!5
m.save(zi+'//'+str(num)+imgtype) # !!!6
img = img.resize((w, h)) # 调整图片大小
img.save(names) # 保存图片
if __name__ == '__main__':
path = os.getcwd()
print("请确保当前路径下,有相应类型的图片文件存在!")
if not os.path.exists(path + '\\Nine_GG'): # 判断文件夹是否创建
os.mkdir(path + '\\Nine_GG')
for i in os.listdir(): # 循环遍历当前工作路径下的所有文件
if os.path.splitext(path + '\\' + i)[1] in ['.jpg', '.png', '.jpeg']:
jgg_img(path + '\\' + i, i)
就到这里啦byebye O(∩_∩)O
Python | 一键生成九宫格图片的更多相关文章
- 用Python一键生成炫酷九宫格图片,火了朋友圈
- Python 带你一键生成朋友圈超火的九宫格短视频
1. 场景 如果你经常刷抖音和微信朋友圈,一定发现了最近九宫格短视频很火! 从朋友圈九宫格图片,到九宫格视频,相比传统的图片视频,前者似乎更有个性和逼格 除了传统的剪辑软件可以实现,是否有其他更加快 ...
- python 生成随机图片验证码
1.安装pillow模块 pip install pillow (1)创建图片 from PIL import Image #定义使用Image类实例化一个长为400px,宽为400px,基于RGB的 ...
- [Python] 将视频转成ASCII符号形式、生成GIF图片
一.简要说明 简述:本文主要展示将视频转成ASCII符号形式展示出来,带音频. 运行环境:Win10/Python3.5. 主要模块: PIL.numpy.shutil. [PIL]: 图像处理 [n ...
- Python(三) PIL, Image生成验证图片
Python(三) PIL, Image生成验证图片 安装好PIL,开始使用. 在PyCharm中新建一个文件:PIL_Test1.py 1 # PIL 应用练习 2 # 3 # import PIL ...
- Python数据展示 - 生成表格图片
前言 前一篇文章介绍了推送信息到企业微信群里,其中一个项目推送的信息是使用Python自动生成的表格,本文来讲讲如何用Python生成表格图片. 选一个合适库 Python最大的优点就是第三方库丰富, ...
- Automator一键生成所需的iOS 图片icon
iOS到8了, 终于受不了它的各种尺寸的icon了. 写一个Finder服务来一键生成吧. 拖放几次再重复, 无技术含量, 但很有用. // 存放目录 ~/资源库/Services/
- 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深?
目录 一键生成属于自己的QQ历史报告,看看你对自己的QQ了解程度有多深? 简介 功能截图 如何运行 编写思路 main.py模块 qq_bot模块 tkinter_gui模块 static_data模 ...
- python快速生成注释文档的方法
python快速生成注释文档的方法 今天将告诉大家一个简单平时只要注意的小细节,就可以轻松生成注释文档,也可以检查我们写的类方法引用名称是否重复有问题等.一看别人专业的大牛们写的文档多牛多羡慕,不用担 ...
随机推荐
- win10 uwp 通过 Win2d 完全控制笔迹绘制逻辑
本文来告诉大家如何通过 Win2d 完全控制笔迹绘制逻辑,本文适合用来实现复杂的自定义逻辑,可以完全控制笔迹的行为.包括在书写过程中切换模式,如进行手势擦除切换为橡皮擦模式 本文提供的方法适合用来做复 ...
- Tolist案例(父子传参实现增删改)
1.Tolist案例(父子传参实现增删改) 目录结构 实现效果: App.jsx class App extends Component { // 状态在哪里, 操作状态的方法就在哪里 state = ...
- Final Cut Pro X 10.4.7 修改长宽比, 截取某一段视频导出
新建项目时设置过长宽比例,现在要修改 窗口 - 项目属性 - 修改 - 自定义 要注意的是,导出时也要选择一下比例 截取某一段视频导出 将鼠标移到你要截取的片段的开始处,点击快捷键 i(标记-设定范围 ...
- Jenkins手动下载并安装插件
最近遇到Jenkins插件无法自动安装的问题,在插件管理页面的[升级站点]使用镜像url也无法解决.于是决定手动下载并安装Jenkins插件,具体步骤如下. Step1:进入Jenkins官网的插件下 ...
- Mybatis-plus<二>通用CRUD,分页
Mybatis-plus<二>通用CRUD,分页 与博客Mybatis-plus<一>为同一个Springboot项目. Demo GitHub下载地址:https://git ...
- 2021-06-14 BZOJ4919:大根堆
BZOJ4919:大根堆 Description: 题目描述 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你 ...
- 《Go语言圣经》阅读笔记:第三章基础数据类型
第三章 基础数据类型 Go语言将数据类型分为四类: 基础类型 数字 整数 浮点数 复数 字符串 布尔 复合类型 数据 结构体 引用类型 指针 切片 字典 函数 通道 接口类型 在此章节中先介绍基础类型 ...
- 将给定数据源生成静态HTML页面持久化到项目之外的硬盘
一.java代码 设置好数据源map Map<String,String> map=new HashMap<>(); map.put("knowledgeName&q ...
- 自定义-starter
目录 说明 编写启动器 新建项目测试我们自己写的启动器 分析完毕了源码以及自动装配的过程,可以尝试自定义一个启动器来玩玩! 自动装配的过程 SpringBoot-静态资源加载-源码 SpringBoo ...
- python库--tensorflow--scope命名方式
方法 参数 说明 .name_scope() with...: name 在其下使用Variable, 变量名(V_n)前会被加上'name/...'且相同V_n会自动添加后缀加以区分, 使用ge ...