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获取远程文件大小的函数代码分享
May 13 Python
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
Apr 25 Python
详解Python当中的字符串和编码
Apr 25 Python
python字符串str和字节数组相互转化方法
Mar 18 Python
python实现kNN算法
Dec 20 Python
Python中循环后使用list.append()数据被覆盖问题的解决
Jul 01 Python
python检测IP地址变化并触发事件
Dec 26 Python
python ETL工具 pyetl
Jun 07 Python
python软件都是免费的吗
Jun 18 Python
python 贪心算法的实现
Sep 18 Python
PySwarms(Python粒子群优化工具包)的使用:GlobalBestPSO例子解析
Apr 05 Python
写一个Python脚本自动爬取Bilibili小视频
Apr 24 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中文本操作的类
2007/03/17 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php简单获取复选框值的方法
2016/05/11 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
laravel自定义分页效果
2017/07/23 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
js中根据字数截取字符串,不能截断url
2012/01/12 Javascript
JS调试必备的5个debug技巧
2014/03/07 Javascript
jquery实现相册一下滑动两次的方法
2015/02/09 Javascript
JavaScript的removeChild()函数用法详解
2015/12/27 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
AngularJS基础 ng-class-odd 指令示例
2016/08/01 Javascript
Angular表单验证实例详解
2016/10/20 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
浅析JavaScript预编译和暗示全局变量
2020/09/03 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
python数字图像处理之高级滤波代码详解
2017/11/23 Python
python爬虫基本知识
2018/03/05 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
简单了解python关系(比较)运算符
2019/07/08 Python
关于pytorch中网络loss传播和参数更新的理解
2019/08/20 Python
Python numpy数组转置与轴变换
2019/11/15 Python
Python自动化测试笔试面试题精选
2020/03/12 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
Happy Plugs官网:瑞典无线耳机品牌
2020/07/16 全球购物
什么是抽象
2015/12/13 面试题
打架检讨书500字
2014/01/29 职场文书
网络书店创业计划书
2014/02/07 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
2014乡镇干部对照检查材料思想汇报
2014/09/26 职场文书
资产运营委托书范本
2014/10/16 职场文书
办公楼租房协议书范本
2014/11/25 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书
Oracle 多表查询基本语法实例
2022/04/18 Oracle