python制作任意形式照片墙
创意照片墙:照片框手工制作 #生活技巧# #手工DIY技巧# #创意手工项目#
用python做任意文字图片墙
今天应产品经理夫人的要求,需给其做一张“青春”图与“爱心”图。
安排!!!
直接上代码:
import pygame from PIL import Image import os import random text = input("请输入你想要的文字:") # text = '青春' font_size = 30 # 字体大小 pygame.init() # 模块的初始化 为什么 pygame不是我开发的, 我们用的别人 python语法 三原色 font = pygame.font.Font('F:\\quantu\\simsun.ttc', font_size)#需要自行下载ttc文件 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 = [] for x in range(height): image_col_list = [] # for y in range(width): if font_text.get_at((y, x))[0] != 255: # 如果像素点不是白色 image_col_list.append(1) # 黑色添加数据1 else: image_col_list.append(0) # 白色添加数据0 image_row_list.append(image_col_list) for row in image_row_list: print(row) #心形图二维列表 map = [ [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, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1], [1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1], [1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 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, 0, 1, 1], [1, 1, 0, 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, 1, 1, 1], [1, 1, 1, 1, 0, 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, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 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], [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, 1, 1, 1, 1, 1, 1], ] # 贴图 照片墙 任意文字的 # width_len = len(image_row_list[0]) # 列表的宽 # height_len = len(image_row_list) # # 列表的高 #心形的 width_len = len(map[0]) # 列表的宽 height_len = len(map) # # 列表的高 # 创建图片 new_image = Image.new('RGB', (width_len * 100, height_len * 100), (255, 255, 255)) #图片背景纯色 # new_image = Image.open(r"F:\桌面\爬虫100\怕图片\src\·你算什么东西?.jpg").resize((width_len * 100, height_len * 100), Image.ANTIALIAS)#图片背景照片替换 # print(new_image.size()) # 贴图 img_size = 100 # 初始图片尺寸 # print(os.listdir(r'F:\\桌面\\爬虫100\\怕图片\\src')) for row in range(height_len): for clo in range(width_len): # if image_row_list[row][clo] == 1: # 如过列表的值为1, 就贴图 任意文字 if map[row][clo] == 0: # 如过列表的值为1, 就贴图 心形 # 读取图片 source_image = Image.open('F:\\1\\心形图素材\\' + random.choice(os.listdir(r'F:\\1\\心形图素材'))) # 修改图片的大小 source_image = source_image.resize((img_size, img_size), Image.ANTIALIAS) # 将图片复制到new_image new_image.paste(source_image, (clo * img_size, row * img_size)) # 照片强保存 print('正在生成照片墙...') new_image.save(text + '.png') print('保存完毕, 请在当前文件项目下查找')
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293在这里插入图片描述
网址:python制作任意形式照片墙 https://www.yuejiaxmz.com/news/view/386930
相关内容
如何制作照片墙DIY手工制作照片墙的创意技巧
自制照片墙
如何布置照片墙?四张照片墙的创意摆放方式有哪些?
在PPT中如何快速制作照片墙?
【婚房】婚纱照摆放位置要点 diy照片墙制作
使用python制作一个简单的任务管理器
照片墙排版
自制简单简洁的无框照片的相片墙 简洁时尚的相片墙╭★肉丁网
照片墙效果图及DIY照片墙的方法(2)
随便看看
- 从应急需求到确定性的生活方式 “万物皆可即得”正在成为现实
- 市应急管理局开展“老年幸福生活,应急安全相伴”——2024年安全宣传“五进”广州行活动
- 广州市应急管理局网站
- 理想L8的“大床模式”在午休时刻堪称神器。 理想L8的“大床模式”在午休时刻堪称神器。尽管在车内铺床与在家中或办公室的床上休息无法相提并论,但在外出工作之际,这一模式无疑能为我们带来极大的放松。开启“大床模式”有两种方式:一是通过语音助手呼唤“理想同学”协助操作,二是手动将第二排座椅调至最后,然后取下第一排头枕并放倒。若只是短暂休息,其实只需利用取下的头枕作为枕头便足够。此外,对于长途行车中感到不适的家人,“大床模式”更是应急良策,但切记要系好安全带。这就是我与理想L8的日常生活。
- 常州应急app下载