程序员的朋友圈就是要这么秀,用Python做九宫格照片

Posted yunyun云芸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了程序员的朋友圈就是要这么秀,用Python做九宫格照片相关的知识,希望对你有一定的参考价值。

一、前言

过年过节大家的朋友圈是不是特别热闹,每当小编看见朋友圈有这种九宫格的照片就觉得特别秀,一直想自己什么时候也能来秀一个,所以直接拿这个练练手,酷炸朋友圈一波,直接进入主题。

朋友圈九宫格效果图:
在这里插入图片描述

二、图片基本操作

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

第一步,先我安装一下Pillow模块

pip install pillow

1 、处理图片

在Pillow中,用Image子模块。Image.open函数会返回一个图片对象,代码如下:

from PIL import Image
# 读取图片
img = Image.open('lbxx.jpg')

Pillow模块是PIL模块的python3版本,因此我们导入模块时是使用下面语句:

from PIL import Image

2、 截取图片

在Image对象中,有一个crop方法,用于剪切图片。它接收一个box参数,表示要截取的区域。图片中的坐标系是以左上角为原点的,如图:
在这里插入图片描述

我们来看看具体的代码:

from PIL import Image
# 读取图片
img = Image.open('lbxx.jpg')
# 截取图片的(0, 0, 300, 300)区域
box = img.crop((0, 0, 300, 300))
# 显示截取的区域
box.show()

3 、保存处理完的图片

保存图片的操作非常简单,我们只需要调用img的save方法即可,代码如下:

from PIL import Image
img = Image.open('lbxx.jpg')
box = img.crop((0, 0, 300, 300))
# 保存图片
box.save('1.jpg')

三、生成九宫格图片

如图:
在这里插入图片描述

知道了上面的操作,下面的操作无非就是截取图片的九个区域,然后保存即可。具体代码如下:

import os
from PIL import Image
# 读取图片
im = Image.open('1kkx.jpg')
 
# 宽高各除 3,获取裁剪后的单张图片大小
width = im.size[0]//3
height = im.size[1]//3
 
# 裁剪图片的左上角坐标
start_x = 0
start_y = 0
 
# 用于给图片命名
im_name = 1
 
# 循环裁剪图片
for i in range(3):
    for j in range(3):
        # 裁剪图片并保存
        crop = im.crop((start_x, start_y, start_x+width, start_y+height))
        # 判断文件夹是否存在
        if not os.path.exists('imgs'):
            os.mkdir('imgs')
        crop.save('imgs/' + str(im_name) + '.jpg')
 
        # 将左上角坐标的 x 轴向右移动
        start_x += width
        im_name += 1
 
    # 当第一行裁剪完后 x 继续从 0 开始裁剪
    start_x = 0
    # 裁剪第二行
    start_y += height

Python基础学习资源共享,免费线上视频,电子书籍,请关注下面云芸学派公众号
在这里插入图片描述

到此这篇关于Python生成九宫格图片的示例代码的博文就介绍到这了,更多相关Python的精彩内容可以看小编主页~

以上是关于程序员的朋友圈就是要这么秀,用Python做九宫格照片的主要内容,如果未能解决你的问题,请参考以下文章

装逼篇 | Python制作抖音超火的九宫格视频

Android 仿朋友圈之九宫格多图显示

男朋友看朋友圈别人秀恩爱说 秀恩爱分得快 他什么心理 什么意思?

阿里大神动态教你ViewGroup(实现微信朋友圈九宫格图片控件)你还不来看看吗?

Python切割图片成九宫格新手必学

Android 实现仿微信朋友圈九宫格图片+NineGridView+ImageWatcher(图片查看:1.预览,2.拖动,3.放大,4.左右滑动,5.长按保存到手机)的功能