用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名

生活中有很多场景都需要我们签字(签名),如果是一些不重要的场景,我们的签名好坏基本无所谓了,但如果是一些比较重要的场景,如果我们的签名比较差的话,就有可能给别人留下不太好的印象了,俗话说字如其人嘛,本文我们使用 Python 来制作一个艺术签名小工具,给自己设计一个优雅的签名。
很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789
实现的基本原理为:我们根据艺术签名网站生成签名的规则,模拟对于请求生成签名,然后将其显示在 tkinter 生成的 GUI 窗口中。
我们选择的艺术签名网站地址为 http://www.uustv.com/ ,打开后如下图所示:

我们接着按 F12 打开开发者工具并选择 Network,然后输入一个名字,再点 马上给我设计 按钮,我们可以看到生成签名发送的请求如下所示:

现在我们就可以根据其生成签名了,实现代码如下所示:
url = 'http://www.uustv.com/'
name = enter.get()
if not name:
messagebox.showinfo('提示:', '请输入您的名字')
else:
data = {
'word': name,
'sizes': 50,
# 'fonts': 'jfcs.ttf', # 个性签
# 'fonts': 'qmt.ttf', # 连笔签
# 'fonts': 'bzcs.ttf', # 潇洒签
# 'fonts': 'lfc.ttf', # 草体签
# 'fonts': 'haku.ttf', # 合文签
# 'fonts': 'zql.ttf', # 商务签
'fonts': 'yqk.ttf', # 可爱签
'fontcolor': '#000000'
}
result = requests.post(url, data=data)
result.encoding = 'utf-8'
html = result.text
reg = '<div class="tu">.*?<img src="(.*?)"/></div>'
img_path = re.findall(reg, html)
# 图片完整路径
img_url = url + img_path[0]
# 获取图片内容
response = requests.get(img_url).content
f = open('{}.gif'.format(name), 'wb')
# 写入
f.write(response)
# 把图片放到窗口上,显示图片
bm = ImageTk.PhotoImage(file='{}.gif'.format(name))
label = Label(root, image=bm)
label.bm = bm
# 绘图
label.grid(row=2, columnspan=2)
然后我们再将签名显示在 tkinter 的 GUI 窗口上即可,实现代码如下所示:
# 创建窗口
root = Tk()
# 标题
root.title('签名设计')
# 窗口大小
root.geometry('600x300')
# 窗口的初始位置
root.geometry('+400+200')
# 标签的控件
label = Label(root, text='输入名字', font=('宋体', 16), fg='blue')
label.grid()
# 输入框
enter = Entry(root, font=('宋体', 16))
# 设置输入框的位置
enter.grid(row=0, column=1)
# 按钮
button = Button(root, text='设计签名', font=('宋体', 16), command=sign)
# 设置按钮的位置
button.grid(row=1, column=0)
# 显示窗口
root.mainloop()
以商务签为例,我们来看一下效果:

是不是有内味了。
用 Python 制作一个艺术签名小工具,给自己设计一个优雅的签名的更多相关文章
- Python制作有道翻译小工具
		
该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使 ...
 - 使用PyQt4制作一个正则表达式测试小工具
		
最近在做一些网络爬虫的时候,会经常用到正则表达式.为了写出正确的正则表达式,我经常在这个网站上进行测试:Regex Tester.这个页面上面一个输入框输入正则表达式,下面一个输入框输入测试数据,上面 ...
 - 利用 Python 写一个颜值测试小工具
		
我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...
 - Python学习之旅:用Python制作一个打字训练小工具
		
一.写在前面 说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU. 别人眼中的程序员:飞快的敲击键盘.酷炫的切换屏幕.各种看不懂的字符代码 ...
 - 小白突破百度翻译反爬机制,33行Python代码实现汉译英小工具!
		
表弟17岁就没读书了,在我家呆了差不多一年吧. 呆的前几个月,每天上网打游戏,我又不好怎么在言语上管教他,就琢磨着看他要不要跟我学习Python编程.他开始问我Python编程什么?我打开了我给学生上 ...
 - 快速入门PaddleOCR,并试用其开发一个搜题小工具
		
介绍 PaddleOCR 是一个基于百度飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. ...
 - 撸一个JS正则小工具
		
写完正则在浏览器上检测自己写得对不对实在是不方便,于是就撸了一个JS正则小demo出来. demo demo展示 项目地址 代码部分 首先把布局样式先写好. <!DOCTYPE html> ...
 - Python写的大小写转换小工具
		
几行代码的小工具,用于进行如下转换 TRANSACTIONS ON CLOUD COMPUTING => Transactions On Cloud Computing orig = 'TRAN ...
 - python自学笔记之开源小工具:SanicDB介绍
		
SanicDB 是为 Python的异步 Web 框架 Sanic 方便操作MySQL而开发的工具,是对 aiomysql.Pool 的轻量级封装.Sanic 是异步IO的Web框架,同时用异步IO读 ...
 
随机推荐
- scrapy 基础组件专题(八):scrapy-redis 框架分析
			
scrapy-redis简介 scrapy-redis是scrapy框架基于redis数据库的组件,用于scrapy项目的分布式开发和部署. 有如下特征:  分布式爬取 您可以启动多个spider工 ...
 - 数据可视化之powerBI入门(三)财务人员必学,使用Powerquery是一种什么体验?
			
https://zhuanlan.zhihu.com/p/54700574 财务人员必学,使用Powerquery是一种什么体验? 你和Excel高手的距离只差了一个Power Query!!! 先思 ...
 - 数据可视化之powerBI技巧(七)从Excel到PowerBI,生成笛卡尔积的几种方式
			
假如分别有100个不重复的姓和名,把每个姓和名进行组合匹配,就可以得到一万个不重复的姓名组合,这种完全匹配的方式就是生成一个姓名的笛卡尔积. 下面就来看看生成笛卡尔积的几种方式,为了展现的方便,以5个 ...
 - Python之爬虫从入门到放弃(十三) Scrapy框架整体的了解
			
这里是通过爬取伯乐在线的全部文章为例子,让自己先对scrapy进行一个整理的理解 该例子中的详细代码会放到我的github地址:https://github.com/pythonsite/spider ...
 - Producter and Consumer
			
package pinx.thread; import java.util.LinkedList; import java.util.Queue; public class ProducerConsu ...
 - Python数据分析实战:使用pyecharts进行数据可视化
			
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:刘早起 开始使用 基本套路就是先创建一个你需要的空图层,然后使用.s ...
 - T133308 57级返校测试重测-T3-成绩单
			
大致题意: 给定n个学生的学号和分数, 求各个分数段的人数, 求把学号排序后的序列, 求满分的人数以及学号. 基本思路: 虽然看起来很繁琐(?),但就非常非常的简单,直接按题意做就好了. 然后有个坑, ...
 - 《Python测试开发技术栈—巴哥职场进化记》—前言
			
写在前面 今年从4月份开始写一本讲Python测试开发技术栈的书,主要有两个目的,第一是将自己掌握的一些内容分享给大家,第二是希望自己能系统的梳理和学习Python相关的技术栈.当时我本来打算以故事体 ...
 - 题解 洛谷 P5324 【[BJOI2019]删数】
			
先考虑对于一个序列,能使其可以删空的的修改次数. 首先可以发现,序列的排列顺序是没有影响的,所以可以将所有数放到桶里来处理. 尝试对一个没有经过修改的可以删空的序列来进行删数,一开始删去所有的\(n\ ...
 - mybatis连接池
			
连接池 在 Mybatis 中,数据源 dataSource 共有三类,分别是: UNPOOLED : 不使用连接池的数据源.采用传统的 javax.sql.DataSource 规范中的连接池,My ...