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中的编码知识整理汇总
Jan 26 Python
Python探索之Metaclass初步了解
Oct 28 Python
python实现列表中由数值查到索引的方法
Jun 27 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
python使用matplotlib画柱状图、散点图
Mar 18 Python
numpy中的ndarray方法和属性详解
May 27 Python
详解Django CAS 解决方案
Oct 30 Python
解决python运行效率不高的问题
Jul 20 Python
Python filter()及reduce()函数使用方法解析
Sep 05 Python
利用python进行文件操作
Dec 04 Python
Django基础CBV装饰器和中间件
Mar 22 Python
分享python函数常见关键字
Apr 26 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
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
PHP实现原比例生成缩略图的方法
2016/02/03 PHP
php命名空间设计思想、用法与缺点分析
2019/07/17 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
jquery之Document元素选择器篇
2008/08/14 Javascript
一段实现页面上的图片延时加载的js代码
2010/02/11 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
iview实现select tree树形下拉框的示例代码
2018/12/21 Javascript
js form表单input框限制20个字符,10个汉字代码实例
2019/04/12 Javascript
基于Element的组件改造的树形选择器(树形下拉框)
2020/02/27 Javascript
OpenLayers3实现测量功能
2020/09/25 Javascript
Python实现从URL地址提取文件名的方法
2015/05/15 Python
Linux CentOS7下安装python3 的方法
2018/01/21 Python
详解python里的命名规范
2018/07/16 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
ALDO加拿大官网:加拿大女鞋品牌
2018/12/22 全球购物
罗技美国官网:Logitech美国
2020/01/22 全球购物
财务经理岗位职责
2013/11/09 职场文书
小学教研工作制度
2014/01/15 职场文书
渔夫的故事教学反思
2014/02/14 职场文书
会计自荐信范文
2014/03/09 职场文书
授权委托书格式模板
2014/04/03 职场文书
我的大学生活演讲稿
2014/04/25 职场文书
大专学生求职信
2014/07/04 职场文书
工作检讨书怎么写
2015/01/23 职场文书
单位接收证明格式
2015/06/18 职场文书
MySQL系列之九 mysql查询缓存及索引
2021/07/02 MySQL
OpenStack虚拟机快照和增量备份实现方法
2022/04/04 Servers