Python 制作朋友圈高逼格的九宫格图片

系统 708 0

将一张图片,切分成九宫格的样式:

原图:

Python 制作朋友圈高逼格的九宫格图片_第1张图片

            
              # -*- coding: UTF-8 -*-
from PIL import Image
import sys
import os

__author__ = 'kandy'

#当前文件所在文件夹
DIR_NAME = os.path.dirname( os.path.abspath(__file__) )

#填充新的image
def fill_image(image):
    width, height = image.size
    print('width:{%d}, height:{%d}' % (width, height))

    _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)
    print('_width:{%d}' % _width)

    box_list = []

    # (left, top, right, bottom)
    for i in range(0, 3):
        for j in range(0, 3):
            print('i:{%d}, j:{%d}' % (i, j))
            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): 
    index = 1 
    #创建result文件夹
    res_dir = os.path.join(DIR_NAME, 'result')
    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 
    print('图片保存完毕!')


if __name__ == '__main__': 
    file_path = os.path.join(DIR_NAME, '123.jpg')
    image = Image.open(file_path)
    #image.show()
    image = fill_image(image)
    #
    image_list = cut_image(image)
    #
    save_images(image_list)
    print('程序结束!')
            
          

切图后,拿去发朋友圈吧:

Python 制作朋友圈高逼格的九宫格图片_第2张图片


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论