生活中有很多场景都需要我们签字(签名),如果是一些不重要的场景,我们的签名好坏基本无所谓了,但如果是一些比较重要的场景,如果我们的签名比较差的话,就有可能给别人留下不太好的印象了,俗话说字如其人嘛,本文我们使用 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 制作一个艺术签名小工具,给自己设计一个优雅的签名的更多相关文章

  1. Python制作有道翻译小工具

    该工具主要是利用了爬虫,爬取web有道翻译的内容. 然后利用简易GUI来可视化结果. 首先我们进入有道词典的首页,并点击翻译结果的审查元素 之后request响应网页,并分析网页,定位到翻译结果. 使 ...

  2. 使用PyQt4制作一个正则表达式测试小工具

    最近在做一些网络爬虫的时候,会经常用到正则表达式.为了写出正确的正则表达式,我经常在这个网站上进行测试:Regex Tester.这个页面上面一个输入框输入正则表达式,下面一个输入框输入测试数据,上面 ...

  3. 利用 Python 写一个颜值测试小工具

    我们知道现在有一些利用照片来测试颜值的网站或软件,其实使用 Python 就可以实现这一功能,本文我们使用 Python 来写一个颜值测试小工具. 很多人学习python,不知道从何学起.很多人学习p ...

  4. Python学习之旅:用Python制作一个打字训练小工具

    一.写在前面 说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU. 别人眼中的程序员:飞快的敲击键盘.酷炫的切换屏幕.各种看不懂的字符代码 ...

  5. 小白突破百度翻译反爬机制,33行Python代码实现汉译英小工具!

    表弟17岁就没读书了,在我家呆了差不多一年吧. 呆的前几个月,每天上网打游戏,我又不好怎么在言语上管教他,就琢磨着看他要不要跟我学习Python编程.他开始问我Python编程什么?我打开了我给学生上 ...

  6. 快速入门PaddleOCR,并试用其开发一个搜题小工具

    介绍 PaddleOCR 是一个基于百度飞桨的OCR工具库,包含总模型仅8.6M的超轻量级中文OCR,单模型支持中英文数字组合识别.竖排文本识别.长文本识别.同时支持多种文本检测.文本识别的训练算法. ...

  7. 撸一个JS正则小工具

    写完正则在浏览器上检测自己写得对不对实在是不方便,于是就撸了一个JS正则小demo出来. demo demo展示 项目地址 代码部分 首先把布局样式先写好. <!DOCTYPE html> ...

  8. Python写的大小写转换小工具

    几行代码的小工具,用于进行如下转换 TRANSACTIONS ON CLOUD COMPUTING => Transactions On Cloud Computing orig = 'TRAN ...

  9. python自学笔记之开源小工具:SanicDB介绍

    SanicDB 是为 Python的异步 Web 框架 Sanic 方便操作MySQL而开发的工具,是对 aiomysql.Pool 的轻量级封装.Sanic 是异步IO的Web框架,同时用异步IO读 ...

随机推荐

  1. JVM 专题一:虚拟机(一)

    1. 虚拟机 1.1 什么是虚拟机? 虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的.运行在一个完全隔离环境中的完整计算机系统. 所谓虚拟机,就是一台虚拟的计算机.它是 ...

  2. Producter and Consumer

    package pinx.thread; import java.util.LinkedList; import java.util.Queue; public class ProducerConsu ...

  3. ShaderLab-坐标转换

    观察空间就是相机的空间 投影矩阵本质就是对x.y.z分量进行不同程度的缩放(z还做了平移),结果就是视锥体近切面远切面变成正方形.视锥体的中心在(0,0). (对于正交相机,这一步已经得到了立方体) ...

  4. bzoj2697特技飞行*

    bzoj2697特技飞行 题意: N个单位时间,每个单位时间可以进行一项特技动作,可选的动作有K种,每种动作有一个刺激程度Ci.每次动作的价值为(距上次该动作的时间)*Ci,若为第一次进行该动作,价值 ...

  5. IE9+的树状下拉菜单,支持多选

    //JS核心代码function treeBox(Config){var el=eval(Config.el);var w=Config.width;var h=Config.height;var d ...

  6. 【高性能Mysql 】读书笔记(一)

    第1章 Mysql架构与历史 MYSQL最重要.最与众不同的特性是它的存储引擎架构,这种架构的设计将查询处理( Query Processing)及其他系统任务( Server Task)和数据的存储 ...

  7. onehot编码检测

    ‘’16bits位宽寄存器,用五(六也行)级逻辑判断其中有15个0和1个1‘’,这么道题目,面试无数,几乎没有人能答出来,连给我衍生‘’14个0和2个1‘’的机会都没有. 今天的问题来源于知乎,某大牛 ...

  8. Vue脚手架的搭建和路由配置

  9. javascript : 写一个类似于 jquery css() 的方法

    我们知道,jquery css() 方法可以很方便的更改DOM的样式. 但从原理上,这个并不复杂,我们完全可以自己写一个. 上代码. updateDOMStyle(DOM, obj){ Object. ...

  10. 技术干货:Ceph搭建硬件建议详解

    Ceph是专为在商品硬件上运行而设计的,这使得构建和维护超大规模的数据集群在经济上是可行的.当规划出你的集群硬件时,你需要平衡一些考虑因素,包括故障域和潜在的性能问题.硬件规划应该包括将Ceph守护进 ...