Python 打造专属照片墙

廉价感情. 提交于 2020-01-21 01:56:22

1、先直接上代码

import random
from PIL import Image
import os

# 照片墙 背景  照片素材  图形
#定义图形
fingure = [
    [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
    [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
]

# 图片尺寸 像素
PIC_WIDTH, PIC_HEIGHT = 100,100
# 行数  列数
row_num, column_num = len(fingure),len(fingure[0])
# 背景读取 设置尺寸
img = Image.open("photo/bgimg/14.jpg").resize((column_num*PIC_WIDTH, row_num*PIC_HEIGHT))
#读取照片名 /photo/lolimage
image_names = os.listdir("photo/lolimage")
print(img, image_names)

for row in range(row_num):
    for column in range(column_num):
        if fingure[row][column]:
            pic = Image.open("photo/lolimage/" + random.choice(image_names)).resize((PIC_WIDTH, PIC_HEIGHT))
            img.paste(pic, (PIC_WIDTH * column, PIC_HEIGHT * row))

img.save("lol.png")

2、

from PIL import Image

可能会报错,报错的解决可以参考:https://blog.csdn.net/c_lanxiaofang/article/details/104053185

 

3、我的文件夹

 

4、运行结果:图形以及图片可以定义

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!