python简单实现9宫格图片实例


Posted in Python onSeptember 03, 2020

在日常生活中我们经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图。

那么我们如何自己动手实现呢?

说到切图Python 就可以实现,主要用到的 Python 库为 Pillow,安装使用 pip install pillow 即可,切图的主要步骤如下:

1、打开要处理的图片

2、判断打开的图片是否为正方形,如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分

3、保存处理完的图片

主要实现代码如下:

# 填充新的 image
def fill_image(image):
    width, height = image.size
    _length = width
    if height > width:
        _length = height
    new_image = Image.new(image.mode, (_length, _length), color='white')
    if width > height:
        new_image.paste(image, (0, int((_length - height) / 2)))
    else:
        new_image.paste(image, (int((_length - width) / 2), 0))
    return new_image

# 裁剪 image
def cut_image(image):
    width, height = image.size
    _width = int(width / 3)
    box_list = []
    for i in range(0, 3):
        for j in range(0, 3):
            box = (j * _width, i * _width, (j + 1) * _width, (i + 1) * _width)
            box_list.append(box)
            image_list = [image.crop(box) for box in box_list]
    return image_list

# 将 image 列表的里面的图片保存
def save_images(image_list, res_dir):
    index = 1
    if not os.path.exists(res_dir):
        os.mkdir(res_dir)
    for image in image_list:
        new_name = os.path.join(res_dir, str(index) + '.png')
        image.save(new_name, 'PNG')
        index += 1

我们来看一下实现效果:

python简单实现9宫格图片实例

以上就是python简单实现9宫格图片实例的详细内容,更多关于python实现朋友圈中的九宫格图片的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
python 判断自定义对象类型
Mar 21 Python
Python编程语言的35个与众不同之处(语言特征和使用技巧)
Jul 07 Python
Python实现统计英文单词个数及字符串分割代码
May 28 Python
在Python中使用zlib模块进行数据压缩的教程
Jun 26 Python
python实现随机森林random forest的原理及方法
Dec 21 Python
基于Python实现的ID3决策树功能示例
Jan 02 Python
PYTHON基础-时间日期处理小结
May 05 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
Python3 itchat实现微信定时发送群消息的实例代码
Jul 12 Python
详解用python生成随机数的几种方法
Aug 04 Python
PyQt5 如何让界面和逻辑分离的方法
Mar 24 Python
pandas抽取行列数据的几种方法
Dec 13 Python
django使用graphql的实例
Sep 02 #Python
django数据模型中null和blank的区别说明
Sep 02 #Python
sqlalchemy实现时间列自动更新教程
Sep 02 #Python
解决Python 函数声明先后顺序出现的问题
Sep 02 #Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 #Python
详解python with 上下文管理器
Sep 02 #Python
Python 的 __str__ 和 __repr__ 方法对比
Sep 02 #Python
You might like
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
jQuery结合Json提交数据到Webservice,并接收从Webservice返回的Json数据
2011/02/18 Javascript
通过jquery的$.getJSON做一个跨域ajax请求试验
2011/05/03 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
ExtJS4如何给同一个formpanel不同的url
2014/05/02 Javascript
JavaScript中用toString()方法返回时间为字符串
2015/06/12 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
BootStrap表单验证实例代码
2017/01/13 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
layui table 多行删除(id获取)的方法
2019/09/12 Javascript
vue.js实现图书管理功能
2019/09/24 Javascript
CountUp.js数字滚动插件使用方法详解
2019/10/17 Javascript
使用vue-router切换页面时实现设置过渡动画
2019/10/31 Javascript
js实现一款简单踩白块小游戏(曾经很火)
2019/12/02 Javascript
Element Badge标记的使用方法
2020/07/27 Javascript
vue3.0实现插件封装
2020/12/14 Vue.js
简单的Python抓taobao图片爬虫
2014/10/26 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
2017/04/21 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
Python面向对象程序设计之私有属性及私有方法示例
2019/04/08 Python
django 微信网页授权认证api的步骤详解
2019/07/30 Python
简单了解python协程的相关知识
2019/08/31 Python
python实现对列表中的元素进行倒序打印
2019/11/23 Python
Pycharm新手使用教程(图文详解)
2020/09/17 Python
Joe Fresh官网:加拿大时尚品牌和零售连锁店
2016/11/30 全球购物
英国和爱尔兰的自炊式豪华度假小屋:Rural Retreats
2018/06/08 全球购物
偷看我的初中毕业鉴定
2014/01/29 职场文书
大学生个人先进事迹材料范文
2014/05/03 职场文书
我的中国梦演讲稿300字
2014/08/19 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
五年级下册复习计划
2015/01/19 职场文书
大学生敬老院活动总结
2015/05/07 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
你真的会用Mysql的explain吗
2022/03/31 MySQL