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 相关文章推荐
rhythmbox中文名乱码问题解决方法
Sep 06 Python
Python实现将16进制字符串转化为ascii字符的方法分析
Jul 21 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 Python
python查看模块,对象的函数方法
Oct 16 Python
python实现栅栏加解密 支持密钥加密
Mar 20 Python
局域网内python socket实现windows与linux间的消息传送
Apr 19 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
python打开windows应用程序的实例
Jun 28 Python
python生成requirements.txt的两种方法
Sep 18 Python
python实现堆排序的实例讲解
Feb 21 Python
python源文件的字符编码知识点详解
Mar 04 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
php中var_export与var_dump的区别分析
2010/08/21 PHP
关于PHP结束标签的使用细节探讨及联想
2013/03/04 PHP
php的常量和变量实例详解
2017/06/27 PHP
php封装的page分页类完整实例代码
2020/02/01 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
JavaScript 学习笔记一些小技巧
2010/03/28 Javascript
iframe异步加载实现点击左边菜单加载右边内容实例讲解
2013/03/04 Javascript
JS画线(实例代码)
2013/11/20 Javascript
快速解决jQuery与其他库冲突的方法介绍
2014/01/02 Javascript
JS数组去重与取重的示例代码
2014/01/24 Javascript
使用ajax+jqtransform实现动态加载select
2014/12/01 Javascript
js 提交form表单和设置form表单请求路径的实现方法
2016/10/25 Javascript
利用angular.copy取消变量的双向绑定与解析
2016/11/25 Javascript
jquery表单验证实例仿Toast提示效果
2017/03/03 Javascript
ES6入门教程之let和const命令详解
2017/05/17 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
react router 4.0以上的路由应用详解
2017/09/21 Javascript
js实现登录注册框手机号和验证码校验(前端部分)
2017/09/28 Javascript
Node.js Koa2使用JWT进行鉴权的方法示例
2018/08/17 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
vue实现扫码功能
2020/01/17 Javascript
node.js中 mysql 增删改查操作及async,await处理实例分析
2020/02/11 Javascript
Python基于time模块求程序运行时间的方法
2017/09/18 Python
python文件操作的简单方法总结
2019/11/07 Python
css3选择器基本介绍
2014/12/15 HTML / CSS
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
精伦电子Java笔试题
2013/01/16 面试题
小学生打架检讨书
2014/01/26 职场文书
股权转让协议书
2014/04/12 职场文书
涉密人员保密承诺书
2014/05/28 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
委托培训协议书
2014/11/17 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python