1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 圣诞节这么浪漫的日子 教你用Python制作表白神器—照片墙 操作起来哦

圣诞节这么浪漫的日子 教你用Python制作表白神器—照片墙 操作起来哦

时间:2024-06-08 00:09:45

相关推荐

圣诞节这么浪漫的日子 教你用Python制作表白神器—照片墙 操作起来哦

哈喽。大家好,我是恰恰~今天教大家用Python来制作一个表白神器—照片墙,属于我们程序员的小浪漫,虽然来的晚,但是收藏学会了,以后都用的到哦~

看一下效果图:

要什么样的,图案都可以自定义的

在这里插入图片描述

在这里插入图片描述

首先,准备阶段

收集你喜欢人(或者你)的照片,多多益善!

然后需要用到的环境

python 3.6

pycharm

pygame

PIL

random

os

接下来,写代码

分为两部分

1.字体形状

importpygame#游戏模块,字体功能,第三方模块pipinstallpygametext='祝你成功!'font_size=30#字体大小pygame.init()#模块的初始化为什么pygame不是我开发的,我们用的别人python语法三原色font=pygame.font.Font('msyh.ttc',font_size)print(font)#字体的渲染#True锯齿化rgb颜色由三原色组成黑白font_text=font.render(text,True,(0,0,0),(255,255,255))print(font_text)#获取字体的宽高height=font_text.get_height()#高度width=font_text.get_width()#宽度print('height:',height)print('width:',width)#根据什么逻辑贴图像素点print(font_text.get_at((1,1))[0])#根据像素点做分类:划分为一个二维列表image_row_list=[]forxinrange(height):image_col_list=[]#foryinrange(width):iffont_text.get_at((y,x))[0]!=255:#如果像素点不是白色image_col_list.append(1)#黑色添加数据1else:image_col_list.append(0)#白色添加数据0image_row_list.append(image_col_list)forrowinimage_row_list:print(row)

2.按照字体形状去贴你准备好的图片

fromPILimportImage#图像处理模块,pipinstallpillowimportos#目录操作,内置importrandom#随机数模块,随机取一张图片#贴图照片墙width_len=len(image_row_list[0])#列表的宽height_len=len(image_row_list)##列表的高#创建图片new_image=Image.new('RGB',(width_len*100,height_len*100),(255,255,255))#贴图img_size=100#初始图片尺寸forrowinrange(height_len):forcloinrange(width_len):ifimage_row_list[row][clo]==1:#如过列表的值为1,就贴图#读取图片source_image=Image.open('images\\'+random.choice(os.listdir(r'images')))#修改图片的大小source_image=source_image.resize((img_size,img_size),Image.ANTIALIAS)#将图片复制到new_imagenew_image.paste(source_image,(clo*img_size,row*img_size))#照片强保存print('正在生成照片墙...')new_image.save(text+'.png')print('保存完毕,请在当前文件项目下查找')

效果图:

在这里插入图片描述

这样就大功告成了!

是不是很简单呢,圣诞节的祝福,虽迟但到,祝大家圣诞快乐,不止圣诞

欢迎大家点赞,收藏,评论!分享给需要的小伙伴哦~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。