前言

程序员也是懂浪漫的,比如说很常见的一个生成玫瑰花的小项目,就可以哄自己喜欢的人开心好久,那么如果能够在她生日的时候,送上一个有词云组成的生日祝福,对方肯定会更加的开心,程序员也可以稳稳地拿捏住自己的幸福ξ( ✿>◡❛)

效果展示

技术简介

这个生日祝福功能的实现主要使用饿了python的词云生成、绘图等一系列库,需要的第三方库列表如下:

wordcloud == 1.5.0
multidict == 4.5.2
matplotlib == 2.2.4
fire == 0.2.1
numpy == 1.16.4

wordcloud:生成词云的库;

multidict:创建一键多值字典;

matplotlib:绘图;

fire:把所有的python程序都变成用命令行调用;

numpy:科学计算库;

源码展示

# coding:utf-8
# 2022/10/22
import numpy
import fire
import multidict
import matplotlib.pyplot as plt
from imageio import imread
from wordcloud import WordCloud, ImageColorGeneratordef transform_format(val):# 用于去除杂色if val[0] > 245 and val[1] > 245 and val[2] > 245:val[0] = val[1] = val[2] = 255return valelse:return valdef gen_happy_birthday_cloud(file, name):words = multidict.MultiDict()# 生日快乐和姓名的权重必须先初始化两个最大权重的words.add('生日快乐', 10)words.add(name, 12)# 随意插入新的词语for i in range(1000):words.add('生日', numpy.random.randint(1, 5))words.add('快乐', numpy.random.randint(1, 5))words.add(name, numpy.random.randint(1, 5))# 设定图片bimg = imread(file)for color in range(len(bimg)):bimg[color] = list(map(transform_format, bimg[color]))wordcloud = WordCloud(background_color='white', mask=bimg,font_path='simhei.ttf').generate_from_frequencies(words)# 生成词云bimgColors = ImageColorGenerator(bimg)# 渲染词云plt.axis("off")plt.imshow(wordcloud.recolor(color_func=bimgColors))plt.savefig(name+'.png')plt.show()fire.Fire(gen_happy_birthday_cloud)

使用方法

在命令行输入

xxx.py "背景图片.jpg" "姓名“”

上述代码复制后重命名为xxx.py文件,背景图片可以选以白色为底,中间是想要的图案,png和jpg都支持,姓名就是想要祝福的人的名字~

代码中的simhei.ttf是字体格式文件,可以从网上下载想要的字体格式~

支持修改配色,这里使用了随机的配色,可以修改指定不同的颜色~

支持matplotlib各种渲染图片的方法,可以查一下生成更好看的图片~

源码及字体文件下载链接:

生日快乐 https://github.com/ZhaoDaBaoZzz/CodeStore/tree/master/Python/%E7%94%9F%E6%97%A5%E5%BF%AB%E4%B9%90

如果不是生日的话,可以换成其他纪念日,或者其他祝福,修改代码中的生日快乐即可~

Python实现词云生日祝福图片,快拿去给心爱的人送上祝福相关推荐

  1. Python编程写的圣诞树|一共六款|快拿去送给心爱的人吧

    先上图: 上代码: 定义背景 t = turtle.Turtle() # 定义速度 # t.speed("fastest") # 定义背景颜色 screensize(bg='bla ...

  2. python英文词云代码_手把手教你制作 中英文 词云 | python demo

     以前做词云的时候网上看的python做词云的坑都很多,耗了很多时间才高清楚wordcloud制作词云的精髓和脉络,整理如下. 相关文章 准备Mac环境下直接pip install wordclou ...

  3. 一步一步教你如何用python做词云_一步一步教你如何用Python做词云

    前言 在大数据时代,你竟然会在网上看到的词云,例如这样的. 看到之后你是什么感觉?想不想自己做一个? 如果你的答案是正确的,那就不要拖延了,现在我们就开始,做一个词云分析图,Python是一个当下很流 ...

  4. python 词云_利用Python生成词云

    利用Python生成词云 一.第三方库的安装与介绍 1.1  Python第三方库jieba(中文分词) 1.介绍 "结巴"中文分词:做最好的 Python 中文分词组件. 2.特 ...

  5. Hadoop3.0基础平台搭建(三节点),以及案例运行并使用python生成词云

    一.设备配置列表,软件包 二.主机名映射 三.生成密钥 四.将密钥发送到各个节点 五.注意事项及验证 六.关闭防火墙和SeLinux安全模块(所有主机均需操作 七.解压JDK.hadoop包,设置Ja ...

  6. python 做词云 -jupyter跟随王树义教程学习

    #python 做词云 -jupyter跟随王树义教程学习 参考连接 https://www.jianshu.com/p/e4b24a734ccc https://www.jianshu.com/p/ ...

  7. python词云改颜色_一种用Python生成词云

    一种用Python生成词云 我们在阅读一篇很长的文章时,总先看看文章的关键词来获知文章的大概内容.今天我们就来制作一个词云程序,将文章中出现次数较多的词语提取出来,生成一张词云图. 词云图的生成原理: ...

  8. python词云有什么用_使用Python定制词云

    前言: 现在用词云的个人博客或者网站越来越多了,就类如这样: 实验楼以前的一张首页部分截图 其实"词云"是对网络文本中出现频率较高的"关键词"予以视觉上的突出, ...

  9. 下c语言实现wc_用 Python 实现词云可视化

    词云是一种非常漂亮的可视化展示方式,正所谓一图胜过千言万语,词云在之前的项目中我也有过很多的使用,可能对于我来说,一种很好的自我介绍方式就是词云吧,就像下面这样的: 个人觉还是会比枯燥的文字语言描述性 ...

最新文章

  1. linux上安全狗的安装
  2. java 深拷贝_java 深拷贝与浅拷贝机制详解
  3. 浅谈APP流式分页服务端设计(转)
  4. Node.js 启动调试方式
  5. SAP Fiori里的Adapt UI按钮,神出鬼没的奥秘
  6. [蓝桥杯]算法提高 金属采集(树形dp)
  7. python删除、替换字符串某字符后的字符串(删除字符串、替换字符串、strip、split、rstrip、lstrip、replace)
  8. 实现文件中名词的统计计数_Python中的统计数据展示
  9. TYVJ 1014 乘法游戏
  10. fastDFS 命令笔记
  11. 批处理 备份网络数据
  12. java的set和get方法实例化_java反射机制 调用get set 方法 | 学步园
  13. 新浪微博数据采集以及人群画像分析
  14. ssh框架的基本运用
  15. 第2次作业——时事点评
  16. 快递电子面单接口php,快递电子面单
  17. 点对点语音通信(转)
  18. Linux运维必须掌握的27道面试题
  19. 新版标准日本语高级_第19课
  20. Spyder输入中文后光标消失

热门文章

  1. A Vertical Kelvin Test Structure for Measuring the True Specific Contact Resistivity
  2. JavaSwing_1.1: FlowLayout(流式布局)
  3. 顶级智囊支招 丰泽智慧城市建设
  4. 单目SLAM在移动端应用的实现难点有哪些?
  5. 2022 水花走向哪里?中概 / 恒生 / 投顾 / 中证 500 / 传媒?
  6. 基于MATLAB编写的GNSS_SDR(GNSS软件接收机)——自学笔记(3)
  7. odoo 12 : 附件(ir.attachment)——同一模型多个附件字段
  8. 通量数据处理(Python)——NC格式转为CSV格式
  9. RPA - Robotic process automation (机器人流程自动化)
  10. 开机出现checking file system on C或者D E F盘符的解决方法