其他
520快到了,是时候秀一下我的女朋友们了
明天520了,元芳。
藏了1G的女朋友不给我们长长眼?
我给女朋友的表白墙已经准备好了
明天我就去表白
pip install Pillow
pip install Numpy
首先我们来设置图像形状,我们这里要实现的是一个爱心❤的形状。
heart = [[0,0,1,1,0,0,0,0,1,1,0,0],
[0,1,1,1,1,0,0,1,1,1,1,0],
[1,1,1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1,1,1],
[0,1,1,1,1,1,1,1,1,1,1,0],
[0,0,1,1,1,1,1,1,1,1,0,0],
[0,0,0,1,1,1,1,1,1,0,0,0],
[0,0,0,0,1,1,1,1,0,0,0,0],
import os
import random
import numpy as np
import PIL.Image as Image
#宝贝存储路径
save_path = '宝宝们的的url'
def girls(save_path):
# 设置心性图片矩阵
HEART = [[0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0],
[0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0],
[0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0],
[0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0],
[0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0]]
# 定义相关参数
SIZE = 100 # 每张图片的尺寸,越大越清晰
N = 1 # 每个点位上放置1*1张图片
# 计算相关参数
width = np.shape(HEART)[1] * N * SIZE # 照片墙宽度
height = np.shape(HEART)[0] * N * SIZE # 照片墙高度
n_img = np.sum(HEART) * (N ** 2) # 照片墙需要的照片数
filenames = random.sample(os.listdir(save_path), n_img) # 随机选取n_img张照片
filenames = [save_path + f for f in filenames]
print('宝宝开始集合!')
# 绘制爱心墙
img_bg = Image.new('RGB', (width, height)) # 设置照片墙背景
i = 0
for y in range(np.shape(HEART)[0]):
for x in range(np.shape(HEART)[1]):
if HEART[y][x] == 1: # 如果需要填充
pos_x = x * N * SIZE # 填充起始X坐标位置
pos_y = y * N * SIZE # 填充起始Y坐标位置
for yy in range(N):
for xx in range(N):
img = Image.open(filenames[i])
img = img.resize((SIZE, SIZE), Image.ANTIALIAS)
img_bg.paste(img, (pos_x + xx * SIZE, pos_y + yy * SIZE))
i += 1
# 保存图片
img_bg.save('love.jpg')
print('宝宝集合完毕!')
回复关键字“黑马爬虫教程”,立即获取2021最新爬虫学习教程
回复关键字“最新Python面试题”,立即获取2021最新Python面试题一套
回复关键字“字节刷题手册”,立即获取入门必备书籍2021字节面试刷题手册
回复关键字“pandas”,立即获取《pandas中文官方手册》