技巧 | Python制作朋友圈炫酷九宫格图片

简介: 技巧 | Python制作朋友圈炫酷九宫格图片

大家好,我是欧K。

本期给大家分享如何使用python制作朋友圈九宫格图片,希望对你有所帮助。

1. 准备工作

1.1 Pillow 安装

两种安装方法:

# 方法1
pip install Pillow
# 方法2
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ Pillow

1.2 导入模块

from PIL import Image

2. PIL函数

2.1 打开图像文件

Image.open(fp, mode='r')

它是惰性操作。该函数读取文件头,直到尝试处理数据才调用load方法强制加载实际的图像数据,可以使用字符串(表示文件名)或file对象作为文件参数。

2.2 打开图像文件

Image.new(mode, size, color=0)

Image.new(mode, size, color=0)

参数:

  • mode:图片模式。
  • size:一个二元组,包含(宽度,高度)像素。
  • color:图像颜色,默认黑色。


2.3 复杂图像

Image.copy()

将原始图像内容粘贴到图像中,仍保留原始内容。

2.4 粘贴图像

Image.paste(im, box=None, mask=None)

box 可以是二元数组,给定 box 的左上角位置;或者,四元数组( left, upper, right, lower) 像素坐标;或者,None,等价于 ((0, 0))。


2.5 保存文件

Image.save(fp, format=None, **params)

fp 为文件名. 可以指定存储图片的质量(jpeg压缩率),不同的压缩率保存的文件大小不同.

img.save(fp, "JPEG", quality=95),quality 值越高,保存的文件越大


3. 绘制九宫格图

3.1 创建底图

# 创建新图片
def create_new_image(image):
    width, height = image.size
    if width > height:
        new_image = Image.new(image.mode, (width, width), color='white')
        new_image.paste(image, (0, int((width - height) / 2)))
    else:
        new_image = Image.new(image.mode, (height, height), color='white')
        new_image.paste(image, (int((height - width) / 2), 0))
    return new_image


3.2 生成子图

# 生成9个子图
def get_9_images(image):
    width, height = image.size
    new_image_width = int(width / 3)
    boxs = []
    for i in range(0, 3):
        for j in range(0, 3):
            box = (j * new_image_width, i * new_image_width, (j + 1) * new_image_width, (i + 1) * new_image_width)
            boxs.append(box)
    images = [image.crop(box) for box in boxs]
    return images


3.3 保存

# 保存图片
def save_images(images, file_path):
    if not os.path.exists(file_path):
        os.mkdir(file_path)
    for index,image in enumerate(images):
        new_image = os.path.join(file_path, str(index) + '.jpg')
        image.save(new_image)

效果:完。

END


以上就是本期为大家整理的全部内容了,赶快练习起来吧,喜欢的朋友可以点赞、点在看也可以分享到朋友圈让更多人知道哦

相关文章
|
1月前
|
存储 人工智能 开发工具
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
只需要通过向AI助理提问的方式输入您的需求,即可瞬间获得核心流程代码及参数,缩短学习路径、提升开发效率。
1421 4
AI助理化繁为简,速取代码参数——使用python SDK 处理OSS存储的图片
|
26天前
|
Python
Python实用记录(六):如何打开txt文档并删除指定绝对路径下图片
这篇文章介绍了如何使用Python打开txt文档,删除文档中指定路径的图片,并提供了一段示例代码来展示这一过程。
26 1
|
27天前
|
计算机视觉 Python
Python实用记录(一):如何将不同类型视频按关键帧提取并保存图片,实现图片裁剪功能
这篇文章介绍了如何使用Python和OpenCV库从不同格式的视频文件中按关键帧提取图片,并展示了图片裁剪的方法。
54 0
|
26天前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
106 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
26天前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
15 1
|
1月前
|
编解码 UED Python
Python批量修改指定目录下图片的大小名文章
Python批量修改指定目录下图片的大小名文章
15 1
|
1月前
|
iOS开发 MacOS Python
Python编程小案例—利用flask查询本机IP归属并输出网页图片
Python编程小案例—利用flask查询本机IP归属并输出网页图片
|
1月前
|
数据采集 自然语言处理 Python
用 Python 生成并识别图片验证码
用 Python 生成并识别图片验证码
26 1
|
30天前
|
Python
Python实现图片的拼接
Python实现图片的拼接
|
2月前
|
Python
Python办公自动化:提取pdf文件中的图片
Python办公自动化:提取pdf文件中的图片
22 0