查看原文
其他

520快到了,是时候秀一下我的女朋友们了

是沐沐呀 GOGO数据 2022-08-01

明天520了,元芳。

藏了1G的女朋友不给我们长长眼?

我给女朋友的表白墙已经准备好了

明天我就去表白

卧槽,着你咋做的?
我用Python,几行代码搞定的事!
来,接着奏乐、接着舞

你还在为520礼物发愁吗?
用一个巨大的心,把所有的浪漫瞬间都装下
建议去打印店打出来效果更佳。
当然,仅靠一张记录点滴的照片还是不够的,
还需要加上口红、香水、火锅。。。。。。。。。。。。

Image模块是在Python PIL图像处理库,对图像进行基础操作的功能基本都包含于此模块内。如open、save、conver、show…等功能。
pip install Pillow

然后我们还要用到Numpy库设置图形矩阵。
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],
接下来代码就很很简单了,注释都写代码里了。大家自己看吧
完了我已经封装好了,传入你家宝宝pic的url就可以直接生成了。
直接上代码,就不耽误你装13的时间了。
import os
import random
import numpy as np
import PIL.Image as Image

#宝贝存储路径
save_path = '宝宝们的的url'

def girls(save_path):
    # 设置心性图片矩阵
    HEART = [[001100001100],
             [011110011110],
             [111111111111],
             [111111111111],
             [111111111111],
             [011111111110],
             [001111111100],
             [000111111000],
             [000011110000],
             [000001100000]]

    # 定义相关参数
    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('宝宝集合完毕!')

来看看效果吧!


他日若是装x成,记得回来点个赞!么么哒。。

回复关键字“简明手册”,立即获取入门必备书籍《简明python教程》电子版
回复关键字“黑马爬虫教程”,立即获取2021最新爬虫学习教程
回复关键字“最新Python面试题”,立即获取2021最新Python面试题一套
回复关键字“字节刷题手册”,立即获取入门必备书籍2021字节面试刷题手册
回复关键字“pandas”,立即获取《pandas中文官方手册》

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存