利用Python实现朋友圈中的九宫格图片效果
作者:Python小二 发布时间:2023-07-31 01:37:22
标签:python,朋友圈,九宫格
前言
大家应该经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图即可。
说到切图,Python 就可以实现,主要用到的 Python 库为 Pillow,安装使用 pip install pillow 即可,切图的主要步骤如下:
打开要处理的图片
判断打开的图片是否为正方形
如果是正方形,就进行九等分,如果不是正方形,先用白色填充为正方形,再进行九等分
保存处理完的图片
主要实现代码如下:
# 填充新的 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
原图:
效果图:
来源:https://blog.csdn.net/ityard/article/details/108333195
0
投稿
猜你喜欢
- 目录结构:只需在自己的python项目下随便创建一个文件夹(下图中为:daka),然后将下载的chromedriver.exe、ask_fo
- <?php // fix 404 pages: header('HTTP/1.1 200 OK'); // set 4
- 复杂度可能高了点- - 也没太注意我想了好久 也找了好久 没看到什么能够用python解决n皇后问题而且不调用递归的 因为我不太能理解递归(
- 在Go语言中,我们可以使用for、append()和copy()进行数组拷贝,对于某些对性能比较敏感且数组拷贝比较多的场景,我们可以会对拷贝
- 在自动化中, Selenium 自动化测试中有一个名字经常被提及 PageObject( 思想与面向对象的特征相 同 ) ,通常 PO 模型
- 1、获取对象类型,基本类型可以用type()来判断。>>> type(123)<class 'int'
- 是不是很烦每次注册网站或填写相关资料时都要重来一遍?其实会有很多自动填写工具能代劳。比如使用 Mac, 在 Safari 的表单中,它可以足
- 今天我们来学习字符串数据类型相关知识,将讨论如何声明字符串数据类型,字符串数据类型与 ASCII 表的关系,字符串数据类型的属性,以及一些重
- 单例模式是一个经典设计模式,简要的说,一个类的单例模式就是它只能被实例化一次,实例变量在第一次实例化时就已经固定。 在Python
- ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数
- 通过学习借鉴朋友的实现方法进行整理,实现了PHP版的微信公共平台消息主动推送,分享给大家供大家参考,具体内容如下此方法是通过模拟登录微信公共
- 开发中偶尔需要判断网络的连通性,没有什么方法比 ping 更直接了当,通常检查网络情况都是运行命令ping www.baidu.com ,查
- 一、oracle oracle服务器有Oracle instace 和Oracle database instance有memory str
- 由于xlwt目前只支持xls格式,至于xlsx格式,后面会继续更新import xlwtimport codecsdef Txt_to_Ex
- 方法一:f = open("foo.txt") &
- 如何修改数据库名(db_name)及实例名(Instance_name or Service_name) Nid是Oracle从9iR2开始
- python刷CSDN访问量import requestsimport reimport timepayload = ""
- 1.首先在pycharm上使用pip安装pip install html-table pip install jira2.初始化发件人邮箱,
- 它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在
- 本文实例讲述了python分支、循环简单用法。分享给大家供大家参考,具体如下:讲程序设计,不得不讲到顺序、分支、循环。顺序就是从上到下运行代