在后台回复【阅读书籍】

即可获取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写份【幸运】的元旦祝福相关推荐

  1. 赶在元旦前夕!10分钟用Python批量定制化发送元旦祝福邮件!

    上一篇关于邮件的自动发送教程中,我们讲解了如何使用yagmail进行简单的邮件发送: 人人都能懂的 Python 自动发送邮件教程 现实生活中,如果只是发邮件给自己,像上一篇文章那样简陋的格式是可以接 ...

  2. 赶在元旦当天!10分钟用Python批量定制化发送元旦祝福邮件!

    AI派在读学生小姐姐Beyonce Java实战项目练习群 长按识别下方二维码,按需求添加 扫码添加Beyonce小姐姐 扫码关注 进Java学习大礼包 现实生活中,如果只是发邮件给自己,简陋的格式是 ...

  3. 元旦假期!10分钟用Python批量定制化发送元旦祝福邮件!

    现实生活中,若要针对每个人进行邮件的定制化,群发给公司客户.内部员工.亲戚朋友,则需更加高级的邮件发送方式. 我们可以通过HTML制作一封精美的元旦祝福邮件,但是邮件的内容--比如姓名.祝福语等应该怎 ...

  4. python 写一个幸运大转盘抽奖脚本

    大转盘抽奖活动 def get_value(): import random list1 = {"id": 1, "name": "1000元&quo ...

  5. python写元旦快乐_用Python在00:00给微信好友发元旦祝福语

    2019年的元旦即将来临,这里用Python撸一串简单的代码来实现定点给微信里的所有小伙伴发祝福语 环境说明 Python版本: 不限 第三方库: itchat, schedule 注:所有祝福语来源 ...

  6. 用Python写一份独特的元宵节祝福

    今天是正月十五,首先 祝大家元宵节快乐! 以前加过我个人微信号的朋友,可以在朋友圈看到我今天发的元宵节祝福图片: 这个祝福文字乍一看其貌不扬,不过点开大图有惊喜:是拿自己 微信好友的头像拼成的 ! 这 ...

  7. 用Python写一份独特的元宵节祝福 1

    2019独角兽企业重金招聘Python工程师标准>>> 今天是正月十五,首先祝大家元宵节快乐! 以前加过我个人VX号的朋友,可以在朋友圈看到我今天发的元宵节祝福图片: 这个祝福文字乍 ...

  8. python元宵节_用Python写一份独特的元宵节祝福

    这样思路就出来了:我们自己输入汉字,根据字符串中汉字字符编码,去HZK16字库中获取点阵信息,拿到信息后根据16*16点阵每个点的数据,print 出不同字符. Talk is cheap, show ...

  9. 用Python写春联:抒写最真诚的祝福和最美好的祈愿

    文章目录 1. 前言 2. 代码中需要导入的模块 3. 下载字模 4. 下载龙凤呈祥背景底图 5. 生成春联 6. 测试样例 6.1 普天同庆 欢度春节 6.2 年尽岁除岁月如歌 冬去春来春光似画 6 ...

最新文章

  1. bzoj3171: [Tjoi2013]循环格(费用流)
  2. #!/usr/bin/env python与#!/usr/bin/python的区别
  3. 基于感知机的手写体识别
  4. datatable.js 服务端分页+fixColumns列固定
  5. 图像处理的傅里叶变换理解
  6. 客户端版本和服务器版本上传软件
  7. wamp替换mysql_将wamp集成的mysql替换成安装版的
  8. Oracle 10g RAC Installer 故障之--Oracle软件安装无法发现集群
  9. 处理下载文件时中文乱码
  10. Docker 1.0对OpenStack意味着什么
  11. MonkeyRunner_API
  12. atitit 常见个人与企业与组织机构的信息化.docx
  13. 联想y7000p电池固件下载_联想拯救者Y7000P安装双系统win10+ubuntu18.04
  14. ionic代码压缩与代码混淆
  15. 塑胶模具注塑常用哪些材质
  16. 英雄联盟萌萌哒小锤子波比台词
  17. IE无法上网,但其他浏览器可以
  18. 一步一步来制作CSS3 3D旋转相册
  19. ux pm_如何从学术研究人员过渡到UX研究人员
  20. 音视频开发之旅(58) -H.264 帧内预测

热门文章

  1. 符合Chrome58的证书制作
  2. Forever小浮的数学推公式专题题解
  3. Black Duck
  4. Spring5框架-IOC容器
  5. GP232RL:国产USB转串口/UART芯片替代FT232RL
  6. 演讲如何克服紧张情绪
  7. MainWindow漫谈
  8. 作为学科的计算机科学(COMPUTING AS A DISCIPLINE)
  9. c语言给坐标求多边形面积,多边形的面积问题
  10. 李文胜oracle,2014年下期解放学校防火演练方案.doc