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快速生成注释文档的方法 今天将告诉大家一个简单平时只要注意的小细节,就可以轻松生成注释文档,也可以检查我们写的类方法引用名称是否重复有问题等.一看别人专业的大牛们写的文档多牛多羡慕,不用担 ...
随机推荐
- 超详细教程2021新版oracle官网下载Windows JAVA-jdk11并安装配置(其他版本流程相同)
异想之旅:本人博客完全手敲,绝对非搬运,全网不可能有重复:本人无团队,仅为技术爱好者进行分享,所有内容不牵扯广告.本人所有文章发布平台为CSDN.博客园.简书和开源中国,后期可能会有个人博客,除此之外 ...
- Promise.race()
Promise.race([ ])---race竞赛,只要有一个决议了,就返回一个promise实例(对应resolve()或reject( )中参数值: 1.与Promise.all()对应的,还有 ...
- Ubuntu18.04下安装、测试tensorflow/models Tensorflow Object Detection API 笔记
参考:https://www.jianshu.com/p/1ed2d9ce6a88 安装 安装conda+tensorflow库 下载protoc linux x64版,https://github. ...
- 快速排序(C++)
快速排序 快速排序是面试中经常问到的排序算法 基本思想:通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小, 则可分别对这两部分记录继续进行排序,以达到整个序 ...
- freeswitch的event事件处理
概述 之前的文章中,我们讲解了freeswitch的源码基本结构,如何新增一个插件式模块,以及如何在模块中新增一个命令式API接口和APP接口. freeswitch本身是事件驱动的,它可以并发响应多 ...
- client-go实战之五:DiscoveryClient
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- ☕【Java技术指南】「并发编程专题」Fork/Join框架基本使用和原理探究(基础篇)
前提概述 Java 7开始引入了一种新的Fork/Join线程池,它可以执行一种特殊的任务:把一个大任务拆成多个小任务并行执行. 我们举个例子:如果要计算一个超大数组的和,最简单的做法是用一个循环在一 ...
- ABP 极简入门教程(三 权限)
此处演示为MVC项目,同样权限定义需要到Application中才能在获取API时进行权限验证 一.打开Sample.Core\Authorization\PermissionNames.cs增加授权 ...
- ldconfig与 /etc/ld.so.conf
现在我们知道了动态与静态函数库,也知道了当前的Linux大多是将函数库做成动态函数库,下面来讨论增加函数库读取性能的方法.我们知道,内存的访问速度是硬盘的好几倍,所以,如果将常用的动态函数库加载到内存 ...
- video.js视频播放插件
1 初始化 Video.js初始化有两种方式. 1.1 标签方式 一种是在<video>标签里面加上class="video-js"和data-setup='{}'属性 ...