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 MD5文件生成码
Jan 12 Python
python实现的二叉树算法和kmp算法实例
Apr 25 Python
python任务调度实例分析
May 19 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
Python做简单的字符串匹配详解
Mar 21 Python
Python字符串格式化的方法(两种)
Sep 19 Python
python2与python3中关于对NaN类型数据的判断和转换方法
Oct 30 Python
python实现flappy bird游戏
Dec 24 Python
python日志logging模块使用方法分析
May 23 Python
基于python实现获取网页图片过程解析
May 11 Python
用python制作个音乐下载器
Jan 30 Python
Pytorch中TensorBoard及torchsummary的使用详解
May 12 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 flush()与ob_flush()的区别详解
2013/06/03 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
JQuery小知识
2010/10/15 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
js异常捕获方法介绍
2013/04/10 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
AngularJS模糊查询功能实现代码(过滤内容下拉菜单排序过滤敏感字符验证判断后添加表格信息)
2017/10/24 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
2018/03/20 Javascript
默认浏览器设置及vue自动打开页面的方法
2018/09/21 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
vue2 v-model/v-text 中使用过滤器的方法示例
2019/05/09 Javascript
vue和iview实现Scroll 数据无限滚动功能
2019/10/31 Javascript
基于jQuery实现挂号平台首页源码
2020/01/06 jQuery
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
ES6 Iterator遍历器原理,应用场景及相关常用知识拓展详解
2020/02/15 Javascript
js实现表格单列按字母排序
2020/08/12 Javascript
谈谈JavaScript中的垃圾回收机制
2020/09/17 Javascript
vue 递归组件的简单使用示例
2021/01/14 Vue.js
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
Python3.5内置模块之shelve模块、xml模块、configparser模块、hashlib、hmac模块用法分析
2019/04/27 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
老总助理工作岗位职责
2014/02/06 职场文书
幼儿园新年寄语
2014/04/03 职场文书
乡镇干部个人对照检查材料思想汇报
2014/10/04 职场文书
2015年教师党员公开承诺书
2015/01/22 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
2015大学迎新晚会策划书
2015/07/16 职场文书
某学校的2019年度工作报告范本
2019/10/11 职场文书
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js