Python切割图片成九宫格的示例代码


Posted in Python onMarch 10, 2020

这篇文字讲述如何使用Python把一张完整的大图切割成9份小图片,制作朋友圈九宫格图文分享。

原图如下:

Python切割图片成九宫格的示例代码 

我们想要利用这张图制作高逼格的九宫格朋友圈分享。

达到类似于这样的效果:

Python切割图片成九宫格的示例代码 

实现原理非常简单,那就是利用PIL库对原图不断画小区域然后切下来存储成新的小图片。

假设每一个格子的宽和高分别是w、h,那么第row行(从0开始计数),第col列(从0开始计数)的格子左上角坐标和右下角坐标分别是(col * w, row * h),(col * w + w, r * h + h)。

Python切割图片成九宫格的示例代码 

code snippet:
#! /usr/local/bin/python3
# -*- coding: utf-8 -*-
fromPILimportImage
defcut_image(image):
width, height = image.size
item_width = width /3.0
item_height = height /3.0
box_list = []
forrowinrange(0,3):
forcolinrange(0,3):
box = (col * item_width, row * item_height,( col +1) * item_width,( row +1) * item_height)
box_list.append( box )
image_list = [image.crop(box)forboxinbox_list]
returnimage_list
defsave_images(image_list):
dirName ='output'
ifFalse== os.path.exists( dirName ):
os.makedirs( dirName )
index =1
forimageinimage_list:
image.save(‘./output/python'+str(index) +'.png','PNG')
index +=1
if__name__ =='__main__':
image = Image.open("use.png")
image_list = cut_image(image)
save_images(image_list)

为了能在朋友圈中预览时看到所有图片的完整样子,建议保证自己的原始图片是正方形的,然后再运行这个脚本,在output中得到九张图片。最后,嗯,就可以去秀了!

总结

到此这篇关于Python切割图片成九宫格的文章就介绍到这了,更多相关Python切割图片 九宫格 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python多线程下载文件的方法
Jul 10 Python
python通过pip更新所有已安装的包实现方法
May 19 Python
教你使用python画一朵花送女朋友
Mar 29 Python
[原创]windows下Anaconda的安装与配置正解(Anaconda入门教程)
Apr 05 Python
mac下给python3安装requests库和scrapy库的实例
Jun 13 Python
详解python tkinter教程-事件绑定
Mar 28 Python
python3对接mysql数据库实例详解
Apr 30 Python
python基于递归解决背包问题详解
Jul 03 Python
python实现一行输入多个值和一行输出多个值的例子
Jul 16 Python
pycharm修改文件的默认打开方式的步骤
Jul 29 Python
在Django admin中编辑ManyToManyField的实现方法
Aug 09 Python
解决virtualenv -p python3 venv报错的问题
Feb 05 Python
pycharm设置python文件模板信息过程图解
Mar 10 #Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
Mar 10 #Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
Mar 10 #Python
Python在终端通过pip安装好包以后在Pycharm中依然无法使用的问题(三种解决方案)
Mar 10 #Python
python标准库OS模块详解
Mar 10 #Python
python标准库OS模块函数列表与实例全解
Mar 10 #Python
python:批量统计xml中各类目标的数量案例
Mar 10 #Python
You might like
smarty中常用方法实例总结
2015/08/07 PHP
PHP批量修改文件名称的方法分析
2017/02/27 PHP
imagettftext() 失效,不起作用
2021/03/09 PHP
JQuery UI皮肤定制
2009/07/27 Javascript
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
一个js控制的导航菜单实例代码
2013/12/03 Javascript
jquery教程限制文本框只能输入数字和小数点示例分享
2014/01/13 Javascript
基于jQuery实现二级下拉菜单效果
2016/02/01 Javascript
javascript中this指向详解
2016/04/23 Javascript
Bootstrap富文本组件wysiwyg数据保存到mysql的方法
2016/05/09 Javascript
JavaScript中的操作符类型转换示例总结
2016/05/30 Javascript
JavaScript-html标题滚动效果的简单实现
2016/09/08 Javascript
JavaScript与ActionScript3两者的同性与差异性
2016/09/22 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
JavaScript多种滤镜算法实现代码实例
2019/12/10 Javascript
[00:52]玛尔斯技能全介绍
2019/03/06 DOTA
用Python脚本生成Android SALT扰码的方法
2013/09/18 Python
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
python if not in 多条件判断代码
2016/09/21 Python
python for 循环获取index索引的方法
2019/02/01 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python设计密码强度校验程序
2020/07/30 Python
python两种注释用法的示例
2020/10/09 Python
Python如何批量生成和调用变量
2020/11/21 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
CSS3中线性颜色渐变的一些实现方法
2015/07/14 HTML / CSS
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
HTML最新标准HTML5总结(必看)
2016/06/13 HTML / CSS
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
开展党的群众路线教育实践活动工作总结
2014/11/05 职场文书
2015元旦节寄语
2014/12/08 职场文书
2015年检验员工作总结范文
2015/04/30 职场文书
高三英语教学反思
2016/03/03 职场文书
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android
PYTHON 使用 Pandas 删除某列指定值所在的行
2022/04/28 Python