用Python写份【幸运】的元旦祝福
在后台回复【阅读书籍】
即可获取python相关电子书~
Hi,我是山月。
明天就是元旦啦,提前祝大家元旦快乐呀~
据说,四叶草的四片叶子代表了:名誉、财富、爱情及健康。
因此山月想用四叶草给大家写份祝福,希望把幸运带给你们。
完整代码和用到的文件都已经打包好啦,在后台回复【元旦祝福】自取哦~
下面我们具体的来看看怎么实现的吧。
1、画一片四叶草
我们这部分用到的是tkinter,关于tkinter的基础知识,大家可以看看:初识Tkinter:一些必须掌握的基础知识。
现在我们来看看吧:
import tkinter#创建tkinter窗口
root = tkinter.Tk()
root.geometry("640x400")
root.title("元旦快乐")img = tkinter.PhotoImage(file='四叶草.png') # 导入图片
tkinter.Label(root,image=img).place(relx=0.5, rely=0.5) #通过label在指定位置插入图片root.mainloop()
结果是:
一片小小的四叶草就显示出来啦,这步还是很简单的吧。
下一步我们就需要通过点阵字,得出每个汉字的点阵位置,并在每个位置上放上一片四叶草。
2、获取汉字的汉字点阵图
关于点阵图的知识参考自:https://blog.twofei.com/embedded/hzk.html。
下面我们来看看具体的实现代码,比如实现【元】字:
import binascii
import tkinter#创建tkinter窗口
root = tkinter.Tk()
root.geometry("640x400")
root.title("元旦快乐")# 导入图片
img = tkinter.PhotoImage(file='四叶草.png') # 要显示的汉字
text = ("元") #初始化点阵
point_list = [] * 16
for i in range(16):point_list.append([] * 16)#获取中文的编码
encode_gb = text.encode('gb2312')
hex_str = binascii.b2a_hex(encode_gb)
result = str(hex_str, encoding='utf-8') #计算在汉字库中的位置
area_code = eval('0x' + result[:2]) - 0xA0
bit_code = eval('0x' + result[2:]) - 0xA0
offset_position = (94 * (area_code-1) + (bit_code-1)) * 32 font_point = None#读取HZK16汉字库文件中数据
with open("HZK16", "rb") as font_library:font_library.seek(offset_position)font_point = font_library.read(32)#给16*16的点阵赋值
KEYS = [0x80, 0x40, 0x20, 0x10, 0x08, 0x04, 0x02, 0x01]
for k in range(len(font_point) // 2):row_list = point_list[k]for j in range(2):for i in range(8):asc = font_point[k * 2 + j]value = asc & KEYS[i] row_list.append(value)#获取列表里不为0的数值索引
num_list = []
for row in point_list:index_point = [i for i, j in enumerate(row) if j != 0]num_list.append(index_point)#根据索引位置放上图片
for i in range(16):for j in num_list[i] :x = 0.05+0.01*jy = 0.08+i*0.02tkinter.Label(root,image=img).place(relx=x,rely=y)root.mainloop()
效果:
最后要做的就是运用循环,读取每一个汉字,然后注意留一下每个汉字之间的间隔,就万事大吉啦。
这里山月就不演示了,大家可以自己去试着完成一下。
完整的代码、用到的四叶草图片和HZK16汉字库山月都给大家整理好了,在公众号后台回复【元旦祝福】既可以获取。
已经到底啦~(≧▽≦*)/~
往 期 推 荐
初识Tkinter:一些必须掌握的基础知识
2021-12-09
Python自动化办公:xlwt教程(二)
2021-12-23
圣诞福利:头像戴圣诞帽+下载神器you-get
2021-12-25
5个在线工具推荐
2021-12-29
您的“点赞”、“在看”和 “分享”是我们产出的动力。
用Python写份【幸运】的元旦祝福相关推荐
- 赶在元旦前夕!10分钟用Python批量定制化发送元旦祝福邮件!
上一篇关于邮件的自动发送教程中,我们讲解了如何使用yagmail进行简单的邮件发送: 人人都能懂的 Python 自动发送邮件教程 现实生活中,如果只是发邮件给自己,像上一篇文章那样简陋的格式是可以接 ...
- 赶在元旦当天!10分钟用Python批量定制化发送元旦祝福邮件!
AI派在读学生小姐姐Beyonce Java实战项目练习群 长按识别下方二维码,按需求添加 扫码添加Beyonce小姐姐 扫码关注 进Java学习大礼包 现实生活中,如果只是发邮件给自己,简陋的格式是 ...
- 元旦假期!10分钟用Python批量定制化发送元旦祝福邮件!
现实生活中,若要针对每个人进行邮件的定制化,群发给公司客户.内部员工.亲戚朋友,则需更加高级的邮件发送方式. 我们可以通过HTML制作一封精美的元旦祝福邮件,但是邮件的内容--比如姓名.祝福语等应该怎 ...
- python 写一个幸运大转盘抽奖脚本
大转盘抽奖活动 def get_value(): import random list1 = {"id": 1, "name": "1000元&quo ...
- python写元旦快乐_用Python在00:00给微信好友发元旦祝福语
2019年的元旦即将来临,这里用Python撸一串简单的代码来实现定点给微信里的所有小伙伴发祝福语 环境说明 Python版本: 不限 第三方库: itchat, schedule 注:所有祝福语来源 ...
- 用Python写一份独特的元宵节祝福
今天是正月十五,首先 祝大家元宵节快乐! 以前加过我个人微信号的朋友,可以在朋友圈看到我今天发的元宵节祝福图片: 这个祝福文字乍一看其貌不扬,不过点开大图有惊喜:是拿自己 微信好友的头像拼成的 ! 这 ...
- 用Python写一份独特的元宵节祝福 1
2019独角兽企业重金招聘Python工程师标准>>> 今天是正月十五,首先祝大家元宵节快乐! 以前加过我个人VX号的朋友,可以在朋友圈看到我今天发的元宵节祝福图片: 这个祝福文字乍 ...
- python元宵节_用Python写一份独特的元宵节祝福
这样思路就出来了:我们自己输入汉字,根据字符串中汉字字符编码,去HZK16字库中获取点阵信息,拿到信息后根据16*16点阵每个点的数据,print 出不同字符. Talk is cheap, show ...
- 用Python写春联:抒写最真诚的祝福和最美好的祈愿
文章目录 1. 前言 2. 代码中需要导入的模块 3. 下载字模 4. 下载龙凤呈祥背景底图 5. 生成春联 6. 测试样例 6.1 普天同庆 欢度春节 6.2 年尽岁除岁月如歌 冬去春来春光似画 6 ...
最新文章
- bzoj3171: [Tjoi2013]循环格(费用流)
- #!/usr/bin/env python与#!/usr/bin/python的区别
- 基于感知机的手写体识别
- datatable.js 服务端分页+fixColumns列固定
- 图像处理的傅里叶变换理解
- 客户端版本和服务器版本上传软件
- wamp替换mysql_将wamp集成的mysql替换成安装版的
- Oracle 10g RAC Installer 故障之--Oracle软件安装无法发现集群
- 处理下载文件时中文乱码
- Docker 1.0对OpenStack意味着什么
- MonkeyRunner_API
- atitit 常见个人与企业与组织机构的信息化.docx
- 联想y7000p电池固件下载_联想拯救者Y7000P安装双系统win10+ubuntu18.04
- ionic代码压缩与代码混淆
- 塑胶模具注塑常用哪些材质
- 英雄联盟萌萌哒小锤子波比台词
- IE无法上网,但其他浏览器可以
- 一步一步来制作CSS3 3D旋转相册
- ux pm_如何从学术研究人员过渡到UX研究人员
- 音视频开发之旅(58) -H.264 帧内预测