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

 更新时间:2020年09月03日 07:53:39   作者:FXL  
在本篇内容里小编给各位分享的是一篇关于python实现朋友圈中的九宫格图片的实例讲解,有需要的朋友们可以参考下。

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

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

说到切图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

我们来看一下实现效果:

35b0da582bf5741821f4d04983350a3.png

以上就是python简单实现9宫格图片实例的详细内容,更多关于python实现朋友圈中的九宫格图片的资料请关注脚本之家其它相关文章!

相关文章

  • Python中对列表排序实例

    Python中对列表排序实例

    这篇文章主要介绍了Python中对列表排序实例,本文给出了9个List的排序实例,需要的朋友可以参考下
    2015-01-01
  • uwsgi+nginx部署Django项目操作示例

    uwsgi+nginx部署Django项目操作示例

    这篇文章主要介绍了uwsgi+nginx部署Django项目操作,结合实例形式简单介绍了uwsgi的概念、原理、安装、项目创建、配置、调试运行等相关操作技巧,需要的朋友可以参考下
    2018-12-12
  • 使用Python构造hive insert语句说明

    使用Python构造hive insert语句说明

    这篇文章主要介绍了使用Python构造hive insert语句说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • python中import warnings的具体作用

    python中import warnings的具体作用

    在Python开发中,我们经常会遇到一些警告信息,本文主要介绍了python中import warnings的具体作用,以提醒用户潜在的问题,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • python网络爬虫精解之pyquery的使用说明

    python网络爬虫精解之pyquery的使用说明

    PyQuery是一个类似于jQuery的解析网页工具,使用lxml操作xml和html文档,它的语法和jQuery很像。和XPATH,Beautiful Soup比起来,PyQuery更加灵活,提供增加节点的class信息,移除某个节点,提取文本信息等功能
    2021-09-09
  • Python rabbitMQ如何实现生产消费者模式

    Python rabbitMQ如何实现生产消费者模式

    这篇文章主要介绍了Python rabbitMQ如何实现生产消费者模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • python实例小练习之Turtle绘制南方的雪花

    python实例小练习之Turtle绘制南方的雪花

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形
    2021-09-09
  • 分析Python字符串拼接+=和join()哪个速度更快

    分析Python字符串拼接+=和join()哪个速度更快

    这篇文章主要分析了Python中字符串拼接+=和join()哪个速度更快,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python基础教程之循环介绍

    python基础教程之循环介绍

    这篇文章主要介绍了python基础教程之循环介绍,本文讲解了for循环、while循环、中断循环等python的基础知识,需要的朋友可以参考下
    2014-08-08
  • JPype实现在python中调用JAVA的实例

    JPype实现在python中调用JAVA的实例

    本篇文章主要介绍了JPype实现在python中调用JAVA的实例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07

最新评论