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中的一些类型转换函数小结
Feb 10 Python
python自动安装pip
Apr 24 Python
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 Python
深入讨论Python函数的参数的默认值所引发的问题的原因
Mar 30 Python
Python使用Scrapy保存控制台信息到文本解析
Dec 27 Python
利用Python如何将数据写到CSV文件中
Jun 05 Python
pygame游戏之旅 载入小车图片、更新窗口
Nov 20 Python
PowerBI和Python关于数据分析的对比
Jul 11 Python
PYTHON如何读取和写入EXCEL里面的数据
Oct 28 Python
解决python 上传图片限制格式问题
Oct 30 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
python用海龟绘图写贪吃蛇游戏
Jun 18 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
Array of country list in PHP with Zend Framework
2011/10/17 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
2015/12/08 PHP
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
JavaScript 10件让人费解的事情
2010/02/15 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
2014 HTML5/CSS3热门动画特效TOP10
2014/12/07 Javascript
Angularjs 基础入门
2014/12/26 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
JavaScript与Java正则表达式写法的区别介绍
2017/08/15 Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
2017/09/10 Javascript
Nodejs模块载入运行原理
2018/02/23 NodeJs
vue组件jsx语法的具体使用
2018/05/21 Javascript
vue项目中实现的微信分享功能示例
2019/01/21 Javascript
python每隔N秒运行指定函数的方法
2015/03/16 Python
python使用BeautifulSoup分析网页信息的方法
2015/04/04 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
python监控键盘输入实例代码
2018/02/09 Python
Python+OpenCV实现车牌字符分割和识别
2018/03/31 Python
Python list列表中删除多个重复元素操作示例
2019/02/27 Python
python自动化之Ansible的安装教程
2019/06/13 Python
Python实现打印实心和空心菱形
2019/11/23 Python
Django使用Celery加redis执行异步任务的实例内容
2020/02/20 Python
深入探究HTML5的History API
2015/07/09 HTML / CSS
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
canvas实现二维码和图片合成的示例代码
2018/08/01 HTML / CSS
英国Flybe航空官网:欧洲最大的独立支线廉价航空公司
2019/07/15 全球购物
周年庆典邀请函范文
2014/01/24 职场文书
2014年行政助理工作总结
2014/11/19 职场文书
监考失职检讨书
2015/01/26 职场文书
员工福利申请报告
2015/05/15 职场文书
python+pytest接口自动化之token关联登录的实现
2022/04/06 Python