Python项目——表白照片墙

news2024/11/24 22:55:51

1、介绍

  • 利用女神的照片,组成女神的名字,向女神表白。如下图:
  • 原理:获取每个像素点的颜色,白色不贴图,黑色贴图。
2、工具
  • 语言:python3.11
  • 编译器:PyCharm
  • 包:pygame
    • pip install pygame
  • 包:PIL
    • pip install pillow
  • 字体文件:simkai.ttf(本地有自带的字体文件,自行选择) 
  • 女神图片:

3、代码

  • import pygame  # 字体处理功能
    from PIL import Image  # 图像处理模块
    import random
    import os
    
    text = '迪丽热巴'  # 照片墙文字
    font_size = 30  # 字体大小
    
    pygame.init()
    # 文字初始化
    font = pygame.font.Font('simkai.ttf', font_size)  # 参数:文字文件,字体大小
    
    # 字体渲染
    font_test = font.render(text, True, (0, 0, 0), (255, 255, 255))  # 参数:文件,锯齿化,黑色,白色
    
    # 获取字体的宽高
    height = font_test.get_height()  # 字体高度
    width = font_test.get_width()  # 字体宽度
    
    # 根据像素点颜色做分类,划分为一个二维列表
    image_row_list = []  # 二维列表
    for x in range(height):
        image_col_list = []  # 行
        for y in range(width):
            if font_test.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)
    
    # 创建图片
    new_image = Image.new('RGB', (width * 100, height * 100), (255, 255, 255))  # 参数:图片以像素展示,图片宽高,图片背景颜色
    
    # 贴图
    img_size = 100  # 初始图片尺寸
    for x in range(height):
        for y in range(width):
            if image_row_list[x][y] == 1:  # 如过列表的值为1, 就贴图
                # 读取图片,随机读取图片
                source_image = Image.open('images\\' + random.choice(os.listdir(r'images')))
                # 修改图片的大小
                source_image = source_image.resize((img_size, img_size), Image.LANCZOS)
                # 将图片复制到new_image
                new_image.paste(source_image, (y * img_size, x * img_size))
    
    # 照片强保存
    print('正在生成照片墙...')
    new_image.save(text + '.png')
    print('生成完毕')

4、运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1319884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【IOS开发】传感器 SensorKit

资源 官方文档 https://developer.apple.com/search/?qmotion%20graph&typeDocumentation SensorKit 使应用程序能够访问选定的原始数据或系统从传感器处理的指标。 步骤信息加速度计或旋转速率数据用户手腕上手表的配置物理环境中的环境光有关用户日常通勤或旅行的详细…

java SpringCloud版本b2b2c鸿鹄云商平台全套解决方案

使用技术: Spring CloudSpring BootMybatis微服务服务监控可视化运营 B2B2C平台: 平台管理端(包含自营) 商家平台端(多商户入驻) PC买家端、手机wap/公众号买家端 微服务(30个通用微服务如:商品、订单、购物车、个人中心、支…

项目实操四-性能测试过程实时监控分析

这里写目录标题 一、JMeter性能测试技巧1、CSV文件驱动2、定时器a、泊松随机定时器b、固定定时器c、高斯随机定时器d、均衡随机定时器e、同步定时器f、固定吞吐量定时器g、精准吞吐量定时器 3、全局变量 - 跨线程数据传递4、Debug调试器5、JMeter执行机端口被占用 二、JMeter性…

Linux集群实用脚本

现有三台虚拟机,例如:node2、node3、node4 三台虚拟机配置了免密登录,安装了hadoop等软件。 相关集群实用脚本命令 统一执行jps命令 jpsall #!/bin/bash ​ for host in node2 node3 node4 doecho $host ssh $host jps done ​ 统一执行命…

JVM日常故障排查小结

前置知识 jstack简介 jstack是JVM自带的工具,用于追踪Java进程线程id的堆栈信息、锁信息,或者打印core file,远程调试Java堆栈信息等。 而我们常用的指令则是下面这条: # 打印对应java进程的堆栈信息 jstack [ option ] pid option常见选…

AI摄影绘画与PS优化:重塑数字艺术的未来

文章目录 《AI摄影绘画与PS优化从入门到精通》内容简介作者简介楚天 目录前言/序言 在科技日新月异的今天,人工智能(AI)已经渗透到我们生活的各个领域,包括艺术创作。AI摄影绘画和Photoshop(PS)优化是这个领…

[AI工具推荐]AiRestful智能API代码生成

智能API代码示例生成工具AiRestful 一、产品介绍二、如何使用1、第一步(必须):2、第二步(可选):3、第三步(智能生成): 三、如何集成到您的网站(应用)1、开始接入2、接入案例 四、注意点 一、产品介绍 AiRestful是一款基于智能AI的,帮助小白快速生成任意编程语言的API接口调用示…

中国经济增长:全球复苏的引擎

近年来,中国经济以其强劲的增长势头成为全球经济的重要引擎。中国的经济崛起不仅对自身国家发展具有重要意义,而且也对全球经济复苏和稳定有着积极影响。本文将从多个角度探讨中国经济增长对全球经济的影响及其作为全球复苏的引擎。 首先,中国…

基于SpringBoot的房屋租赁系统 附源码

基于SpringBoot的房屋租赁系统 附源码 文章目录 基于SpringBoot的房屋租赁系统 附源码 一.引言二.系统设计三.技术架构四.功能实现五.界面展示六.源码获取 一.引言 本文介绍了一个基于SpringBoot的房屋租赁系统。该系统利用SpringBoot框架的优势,实现了用户注册、登…

【C++】封装:练习案例-点和圆的关系

练习案例:点和圆的关系 设计一个圆形类(Circle),和一个点类(Point),计算点和圆的关系。 思路: 1)创建点类point.h和point.cpp 2)创建圆类circle.h和circle…

如何搭建企业管理系统Odoo并远程访问管理界面【内网穿透】

文章目录 前言1. 下载安装Odoo:2. 实现公网访问Odoo本地系统:3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。 开源性质:Odoo是一个开源的ERP软件,这意味着企…

SearchWP WordPress高级网站内容搜索插件(包含所有专业扩展)

点击阅读SearchWP WordPress高级网站内容搜索插件(包含所有专业扩展)原文 SearchWP WordPress高级网站内容搜索插件是一个非常强大的工具,可以显着增强您网站的搜索功能。通过向网站访问者提供高度相关和精确的搜索结果,它可以有效地简化他们的搜索过程…

回归预测 | MATLAB实现IBL-LSSVM【23年新算法】逻辑优化算法优化最小二乘支持向量机的数据回归预测 (多指标,多图)

回归预测 | MATLAB实现IBL-LSSVM【23年新算法】逻辑优化算法优化最小二乘支持向量机的数据回归预测 (多指标,多图) 目录 回归预测 | MATLAB实现IBL-LSSVM【23年新算法】逻辑优化算法优化最小二乘支持向量机的数据回归预测 (多指标…

苹果个人开发者如何实现应用下载安装

作为苹果个人开发者,你可以为iOS设备用户提供应用程序,而用户将能够通过下载和安装这些应用来丰富他们的设备体验。本文将详细介绍个人开发者实现应用下载安装的步骤,包括开发和上架应用程序到App Store。 图片来源:苹果个人开发者…

【轮式移动机器人课程笔记3】移动机器人运动学简介

文章目录 写在前面L3 移动机器人运动学简介3.1 运动学概述3.2 研究机器人运动学的意义3.3 机器人运动的描述3.4 机器人正微分运动学3.5 机器人逆微分运动学3.6 总结 写在前面 前两节课介绍了移动机器人、机械手、类型,本节课重点讲解移动机器人运动学相关知识&…

一个IP证书里可以包含多个ip地址吗

IP地址数字证书是一种由权威机构颁发的数字证书,是只拥有公网IP地址的网站用来保护数据传输安全,防止网站信息被窃取、篡改的安全传输协议。IP证书还可以消除浏览器的“不安全”提示,让网站更容易获得客户信任。同常一个IP证书只能同时保护一…

经典文献阅读之--EA-NDT(利用语义分割提高NDT地图压缩和描述能力的框架)

0. 简介 对于NDT而言,相信各位应该都有所了解了,但是作为高精地图来说性能还需要进一步提升,为此《Towards High-Definition Maps: a Framework Leveraging Semantic Segmentation to Improve NDT Map Compression and Descriptivity》一文提…

AIGC实战——条件生成对抗网络(Conditional Generative Adversarial Net, CGAN)

AIGC实战——条件生成对抗网络 0. 前言1. CGAN架构2. 模型训练3. CGAN 分析小结系列链接 0. 前言 我们已经学习了如何构建生成对抗网络 (Generative Adversarial Net, GAN) 以从给定的训练集中生成逼真图像。但是,我们无法控制想要生成的图像类型,例如控…

基于Java的音乐网站的设计与实现(带论文)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下,你想解决的问…

如何实现公网访问本地内网搭建的WBO白板远程协作办公【内网穿透】

最近,我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念,而且内容风趣幽默。我觉得它对大家可能会有所帮助,所以我在此分享。点击这里跳转到网站。 文章目录 前言1. 部署WBO白板2. 本地访问WBO白板3. Linux 安装cp…