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 变量类型及命名规则介绍
Jun 08 Python
Python迭代器和生成器介绍
Mar 06 Python
Python实现的双色球生成功能示例
Dec 18 Python
深入了解Python中pop和remove的使用方法
Jan 09 Python
使用matplotlib画散点图的方法
May 25 Python
python实现将读入的多维list转为一维list的方法
Jun 28 Python
替换python字典中的key值方法
Jul 06 Python
python实现五子棋游戏
Jun 18 Python
python实现将视频按帧读取到自定义目录
Dec 10 Python
Pytorch提取模型特征向量保存至csv的例子
Jan 03 Python
使用Tensorboard工具查看Loss损失率
Feb 15 Python
python爬虫中采集中遇到的问题整理
Nov 27 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
再说下636单管机
2021/03/02 无线电
php将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
PHP strtok()函数的优点分析
2010/03/02 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
php实现微信发红包
2015/12/05 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
thinkphp5 模型实例化获得数据对象的教程
2019/10/18 PHP
javascript下过滤数组重复值的代码
2007/09/10 Javascript
JavaScript 监听textarea中按键事件
2009/10/08 Javascript
jquery获取input的value问题说明
2010/08/19 Javascript
JavaScript中OnLoad几种使用方法
2012/12/15 Javascript
一个简单的全屏图片上下打开显示网页效果示例
2014/07/08 Javascript
js表单登陆验证示例
2016/10/19 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
详解几十行代码实现一个vue的状态管理
2019/01/28 Javascript
Vue2.0实现简单分页及跳转效果
2019/07/29 Javascript
vue路由守卫及路由守卫无限循环问题详析
2019/09/05 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
Python函数中定义参数的四种方式
2014/11/30 Python
python中set()函数简介及实例解析
2018/01/09 Python
Django 中自定义 Admin 样式与功能的实现方法
2019/07/04 Python
Python closure闭包解释及其注意点详解
2019/08/28 Python
使用Fabric自动化部署Django项目的实现
2019/09/27 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
比利时香水网上商店:NOTINO
2018/03/28 全球购物
乌克兰的第一家手表店:Deka
2020/03/05 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
后勤工作职责
2013/12/22 职场文书
应届大学生简历中的自我评价
2014/01/15 职场文书
给校长的建议书300字
2014/05/16 职场文书
九一八事变演讲稿
2014/09/05 职场文书
家长评语怎么写
2014/12/30 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python
前端使用svg图片改色实现示例
2022/07/23 HTML / CSS