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

作者:FXL 时间:2021-10-22 13:23:25 

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

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

说到切图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宫格图片实例

来源:https://www.py.cn/toutiao/20079.html

标签:python,九宫格图片
0
投稿

猜你喜欢

  • Python Django模板系统详解

    2021-09-05 23:17:20
  • firefox 2正则表达式

    2008-08-25 19:15:00
  • PHP实现加减乘除最简单的实例分享

    2023-06-14 16:17:41
  • 破解加密的网页代码方法

    2010-03-16 12:35:00
  • Firefox window.close()的使用注意事项

    2024-04-17 10:11:12
  • 详解Python if-elif-else知识点

    2022-02-23 16:06:23
  • MSSQL 生成日期列表代码

    2024-01-26 23:58:01
  • OpenCV+python实现实时目标检测功能

    2023-11-03 01:59:35
  • 如何在Python对Excel进行读取

    2022-02-25 15:51:59
  • Oracle临时表空间删除和重建实现过程

    2023-07-18 09:26:04
  • 基于js里调用函数时,函数名带括号和不带括号的区别

    2023-08-24 05:05:41
  • Mysql数据库备份和还原常用的命令

    2011-12-01 10:41:54
  • Python 中 sorted 如何自定义比较逻辑

    2021-09-16 23:43:37
  • python标准库random模块处理随机数

    2023-11-23 16:22:49
  • 利用python爬取散文网的文章实例教程

    2023-06-17 10:40:18
  • Numpy中array数组对象的储存方式(n,1)和(n,)的区别

    2022-08-28 03:08:32
  • python3.4爬虫demo

    2023-10-24 21:46:24
  • Python3实现获取图片文字里中文的方法分析

    2023-09-19 09:31:34
  • 深入浅析ASP在线压缩access数据库的方法

    2024-01-25 16:09:11
  • python画立方体--魔方

    2022-04-22 10:20:43
  • asp之家 网络编程 m.aspxhome.com