加入收藏 | 设为首页 | 会员中心 | 我要投稿 南通站长网 (https://www.0513zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

Python如何生成一个九宫格图片?

发布时间:2022-04-07 15:41:21 所属栏目:语言 来源:互联网
导读:相信不少朋友在刷朋友圈时,都会刷到下图所示的九宫格图片,感觉很酷炫的样子,那么这是怎么样做的呢?下面就给就大家分享一下Python生成这样一个九宫格图片的代码。 一、图片基本操作 今天我们会使用到三个操作,分别是读取图片、保存图片和截取图片。下面
       相信不少朋友在刷朋友圈时,都会刷到下图所示的九宫格图片,感觉很酷炫的样子,那么这是怎么样做的呢?下面就给就大家分享一下Python生成这样一个九宫格图片的代码。
 
  
        一、图片基本操作
        今天我们会使用到三个操作,分别是读取图片、保存图片和截取图片。下面我们分别来看看。
 
        2.1 读取图片
        在Pillow中,我们最常用的就是Image子模块。其中读取图片的操作就是通过Image.open函数来实现。Image.open函数会返回一个图片对象,我们来看看具体的代码:
 
        2.2 截取图片
        在Image对象中,有一个crop方法,可以用于剪切图片。它接收一个box参数,表示要截取的区域。参数是一个元组,元素内容分别是左上角x,y坐标,右下角x,y坐标。图片中的坐标系是以左上角为原点的,如图:
 
        假如我们需要截取图片如下区域:
 
        那我们的参数应该如下:
 
img.crop((x1, y1, x2, y2))
        我们来看看具体的代码:
 
from PIL import Image
# 读取图片
img = Image.open('lbxx.jpg')
# 截取图片的(0, 0, 300, 300)区域
box = img.crop((0, 0, 300, 300))
# 显示截取的区域
box.show()
        2.3 保存图片
        保存图片的操作非常简单,我们只需要调用img的save方法即可,我们直接看代码:
 
from PIL import Image
img = Image.open('lbxx.jpg')
box = img.crop((0, 0, 300, 300))
# 保存图片
box.save('1.jpg')
        我们直接调用save方法,传入保存的路径即可。
 
        二、生成九宫格图片
        知道了上面的操作,下面的操作无非就是截取图片的九个区域,然后保存即可。具体代码如下:
 
# 循环裁剪图片
for i in range(3):
    for j in range(3):
        # 裁剪图片并保存
        crop = im.crop((start_x, start_y, start_x+width, start_y+height))
        crop.save('imgs/' + str(im_name) + '.jpg')
 
        # 将左上角坐标的 x 轴向右移动
        start_x += width
        im_name += 1

(编辑:南通站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读