温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Python怎么制作九宫格图片

发布时间:2021-12-27 09:54:46 来源:亿速云 阅读:198 作者:iii 栏目:大数据

这篇文章主要介绍“Python怎么制作九宫格图片”,在日常操作中,相信很多人在Python怎么制作九宫格图片问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python怎么制作九宫格图片”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

对应代码如下:

# -*- coding: utf-8 -*-
'''
将一张图片填充为正方形后切为9张图
'''
from PIL import Image
import sys
#将图片填充为正方形
def fill_image(image):
    width, height = image.size    
    #选取长和宽中较大值作为新图片的
    new_image_length = width if width > height else height    
    #生成新图片[白底]
    new_image = Image.new(image.mode, (new_image_length, new_image_length), color='white')    
    #将之前的图粘贴在新图上,居中 if width > height:#原图宽大于高,则填充图片的竖直维度
 #(x,y)二元组表示粘贴上图相对下图的起始位置
        new_image.paste(image, (0, int((new_image_length - height) / 2)))
    else:
        new_image.paste(image, (int((new_image_length - width) / 2),0))    
    return new_image
#切图
def cut_image(image):
    width, height = image.size
    item_width = int(width / 3)
    box_list = []    
    # (left, upper, right, lower) for i in range(0,3):#两重循环,生成9张图片基于原图的位置 for j in range(0,3):           
            #print((i*item_width,j*item_width,(i+1)*item_width,(j+1)*item_width))
            box = (j*item_width,i*item_width,(j+1)*item_width,(i+1)*item_width)
            box_list.append(box)

    image_list = [image.crop(box) for box in box_list]    
    return image_list
#保存
def save_images(image_list):
    index = 1 
    for image in image_list:
        image.save('./result/python'+str(index) + '.png', 'PNG')
        index += 1

if __name__ == '__main__':
    file_path = "python.jpeg"
    image = Image.open(file_path)   
    #image.show()
    image = fill_image(image)
    image_list = cut_image(image)
   save_images(image_list)

到此,关于“Python怎么制作九宫格图片”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI