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快速生成注释文档的方法 今天将告诉大家一个简单平时只要注意的小细节,就可以轻松生成注释文档,也可以检查我们写的类方法引用名称是否重复有问题等.一看别人专业的大牛们写的文档多牛多羡慕,不用担 ...
随机推荐
- Java | 个人总结的Java常用API手册汇总
目录 常用API JavaAPI 1 java.lang String StringBuilder Integer parseXxx Math Object System Throwable Thre ...
- jdbc操作mysql(二):封装
案例四:封装共有操作 封装一个数据库的会话的类 import java.sql.*; public class ConnectionUtil { /** * 获取连接对象的方法,返回一个Connect ...
- VSCode 在.vscode/launch.json中设置启动时的参数
如下脚本设置启动参数,如题,在.vscode/launch.json文件中,红色部分设置运行参数 { // Use IntelliSense to learn about possible attri ...
- JavaScript——字符串——模板字符串
JavaScript--字符串--模板字符串 字符串可以用反引号包裹起来,其中的${expression}表示特殊的含义,JavaScript会将expression代表的变量的值和反引号中的其它普通 ...
- dotnet C# 给结构体字段赋值非线程安全
在 dotnet 运行时中,给引用对象进行赋值替换的时候,是线程安全的.给结构体对象赋值,如果此结构体是某个类的成员字段,那么此赋值不一定是线程安全的.是否线程安全,取决于结构体的大小,取决于此结构体 ...
- 手写 lodash/get、lodash/set 方法
动机:平时写js代码时经常遇到要使用 lodash 中 _.get 和 _.set 的情况,每次使用都要引用 lodash,总感觉很烦,能不能自己实现一个简单的方法来实现一样的功能呢? get 方法实 ...
- ubantu下载源详细目录
都说ubantu系统自带的下载源不给力,一般使用时体现不出来,也没有必要更换.我是在安装gnuradio时,安装了好久,没安装上,后来就去更改下载源(后来发现不是下载源的问题),不过还不错,最起码最下 ...
- 生产环境部署高可用Rancher
环境准备: IP hostname role 192.168.200.150 nginx LB 192.168.200.151 master01-151 docker-ce/rke/helm/kube ...
- Docker安装GitLab与Runner(网关),常规设置,自动化用到k8s+token
[转]图文详解k8s自动化持续集成之GitLab CI/CD Windows里面使用Debian命令行工具完成 和Docker网络相关的命令 查看某一个容器的网络 docker inspect 容器I ...
- 简单操作:10分钟实现在kubernetes(k8s)里面部署服务器集群并访问项目(docker三)
前言 经过docker安装.k8s开启并登录,我们终于到 "部署k8s服务器集群并访问项目" 这一步了,实现的过程中有太多坑,好在都填平了,普天同庆. 在进行当前课题之前,我们需要 ...