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 26 Python
python中matplotlib实现最小二乘法拟合的过程详解
Jul 11 Python
利用python编写一个图片主色转换的脚本
Dec 07 Python
python 使用re.search()筛选后 选取部分结果的方法
Nov 28 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
Jan 03 Python
Python3模拟curl发送post请求操作示例
May 03 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
Jul 25 Python
解决python3 requests headers参数不能有中文的问题
Aug 21 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
python使用for...else跳出双层嵌套循环的方法实例
May 17 Python
如何解决安装python3.6.1失败
Jul 01 Python
OpenCV中resize函数插值算法的实现过程(五种)
Jun 05 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
yiic命令时提示“php.exe”不是内部或外部命令的解决方法
2014/12/18 PHP
PHP中的函数声明与使用详解
2017/05/27 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
原生js实现日期联动
2015/01/12 Javascript
JavaScript中的pow()方法使用详解
2015/06/15 Javascript
js实现(全选)多选按钮的方法【附实例】
2016/03/30 Javascript
Bootstrap按钮组件详解
2016/04/26 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
JavaScript中的事件委托及好处
2016/07/12 Javascript
JS中的hasOwnProperty()和isPrototypeOf()属性实例详解
2016/08/11 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
angularjs使用directive实现分页组件的示例
2017/02/07 Javascript
jQuery滚动监听实现商城楼梯式导航效果
2017/03/06 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
node app 打包工具pkg的具体使用
2019/01/17 Javascript
JavaScript强制类型转换和隐式类型转换操作示例
2019/05/01 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
python循环监控远程端口的方法
2015/03/14 Python
python轻松实现代码编码格式转换
2015/03/26 Python
python中pandas.DataFrame对行与列求和及添加新行与列示例
2017/03/12 Python
Python引用类型和值类型的区别与使用解析
2017/10/17 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Python将视频或者动态图gif逐帧保存为图片的方法
2019/09/10 Python
css3让div随鼠标移动而抖动起来
2014/02/10 HTML / CSS
竞选班委演讲稿
2014/04/28 职场文书
ktv筹备计划书
2014/05/03 职场文书
授权委托书格式
2014/07/31 职场文书
五四青年节的活动方案
2014/08/20 职场文书
再婚婚前财产协议书范本
2014/10/19 职场文书
欢迎词怎么写
2015/01/23 职场文书
厉行节约工作总结
2015/08/12 职场文书
2016入党积极分子党课学习心得体会
2015/10/09 职场文书
2015年六年级班主任工作总结
2015/10/15 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
MySQL8.0.18配置多主一从
2021/06/21 MySQL