利用Python实现朋友圈中的九宫格图片效果

 更新时间:2020年09月03日 14:50:31   作者:Python小二  
这篇文章主要给大家介绍了关于利用Python如何实现朋友圈中九宫格图片效果的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可。

说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使用 pip install pillow 即可,切图的主要步骤如下:

  1. 打开要处理的图片
  2. 判断打开的图片是否为正方形
  3. 如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分
  4. 保存处理完的图片

主要实现代码如下:

# 填充新的 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实现朋友圈中的九宫格图片效果的文章就介绍到这了,更多相关Python实现朋友圈九宫格图片内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python去掉空白行的多种实现代码

    python去掉空白行的多种实现代码

    这篇文章主要介绍了python去掉空白行实现代码,需要的朋友可以参考下
    2018-03-03
  • Python读取word文本操作详解

    Python读取word文本操作详解

    这篇文章主要介绍了Python读取word文本操作详解,介绍了涉及到的模块,相关概念,模块的安装等内容,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • 利用Python批量处理多个txt文本的示例代码

    利用Python批量处理多个txt文本的示例代码

    这篇文章主要给大家介绍了关于如何利用Python批量处理多个txt文本的方法,文中通过实例代码介绍的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2023-10-10
  • Django 中自定义 Admin 样式与功能的实现方法

    Django 中自定义 Admin 样式与功能的实现方法

    这篇文章主要介绍了Django 中自定义 Admin 样式与功能的实现方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • 一篇文章带你了解kali局域网攻击

    一篇文章带你了解kali局域网攻击

    这篇文章主要给大家介绍了kali的局域网攻击,小编觉得这篇文章还是不错的,使用起来也是非常方便的,需要的朋友可以参考下
    2021-08-08
  • Python实现全自动输入文本的示例详解

    Python实现全自动输入文本的示例详解

    这篇文章主要和大家分享一个Python全自动输入文本的脚本,可以实现自动用Notepad++打开文本文件,然后自动输入文本,最后保存并关闭文件,从而实现全面自动化处理文本,希望对大家有所帮助
    2022-11-11
  • python wav模块获取采样率 采样点声道量化位数(实例代码)

    python wav模块获取采样率 采样点声道量化位数(实例代码)

    这篇文章主要介绍了python wav模块获取采样率 采样点声道量化位数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01
  • PyTorch TensorFlow机器学习框架选择实战

    PyTorch TensorFlow机器学习框架选择实战

    这篇文章主要为大家介绍了PyTorch TensorFlow机器学习框架选择实战,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Python 使用folium绘制leaflet地图的实现方法

    Python 使用folium绘制leaflet地图的实现方法

    今天小编就为大家分享一篇Python 使用folium绘制leaflet地图的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07
  • 详细解读tornado协程(coroutine)原理

    详细解读tornado协程(coroutine)原理

    这篇文章主要介绍了详细解读tornado协程(coroutine)原理,涉及协程定义,生成器和yield语义,Future对象,ioloop对象,函数装饰器coroutine等相关内容,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01

最新评论