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局部赋值的规则
Mar 07 Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 Python
hmac模块生成加入了密钥的消息摘要详解
Jan 11 Python
基于Pandas读取csv文件Error的总结
Jun 15 Python
Python socket实现的简单通信功能示例
Aug 21 Python
Python日志模块logging基本用法分析
Aug 23 Python
Python判断以什么结尾以什么开头的实例
Oct 27 Python
Python基于pandas爬取网页表格数据
May 11 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
用python获取txt文件中关键字的数量
Dec 24 Python
Python中常见的导入方式总结
May 06 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
解析link_mysql的php版
2013/06/30 PHP
ThinkPHP CURD方法之table方法详解
2014/06/18 PHP
php轻松实现文件上传功能
2016/03/03 PHP
php字符串操作针对负值的判断分析
2016/07/28 PHP
PHP实现搜索时记住状态的方法示例
2018/05/11 PHP
laravel添加前台跳转成功页面示例
2019/10/22 PHP
JS模拟多线程
2007/02/07 Javascript
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
JS关闭窗口或JS关闭页面的几种代码分享
2013/10/25 Javascript
javascript中bind函数的作用实例介绍
2014/09/28 Javascript
使用Raygun对Node.js应用进行错误处理的方法
2015/06/23 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
jQuery实现ToolTip元素定位显示功能示例
2016/11/23 Javascript
解决拦截器对ajax请求的拦截实例详解
2016/12/21 Javascript
Vue.js bootstrap前端实现分页和排序
2017/03/10 Javascript
超简单的Vue.js环境搭建教程
2017/03/17 Javascript
使用JavaScript生成罗马字符的实例代码
2018/06/08 Javascript
通过循环优化 JavaScript 程序
2019/06/24 Javascript
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
PHP统计代码行数的小代码
2019/09/19 Python
python 动态绘制爱心的示例
2020/09/27 Python
python如何实现word批量转HTML
2020/09/30 Python
西班牙多品牌鞋店连锁店:Krack
2018/11/30 全球购物
大专毕业生自我鉴定
2013/11/21 职场文书
村委会贫困证明
2014/01/14 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
中介公司区域经理岗位职责范本
2014/03/02 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
离婚协议书范本(通用篇)
2014/11/30 职场文书
2015年小学开学寄语
2015/02/27 职场文书
上帝也疯狂观后感
2015/06/09 职场文书
阿里云服务器部署mongodb的详细过程
2021/09/04 MongoDB