快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

怎么用Python制作一个艺术签名小工具

这篇文章主要介绍怎么用Python制作一个艺术签名小工具,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

创新互联建站专业为企业提供璧山网站建设、璧山做网站、璧山网站设计、璧山网站制作等企业网站建设、网页设计与制作、璧山企业网站模板建站服务,十载璧山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

实现的基本原理为:我们根据艺术签名网站生成签名的规则,模拟对于请求生成签名,然后将其显示在 tkinter 生成的 GUI 窗口中。

我们选择的艺术签名网站地址为 http://www.uustv.com/,打开后如下图所示:

怎么用Python制作一个艺术签名小工具

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

怎么用Python制作一个艺术签名小工具

现在我们就可以根据其生成签名了,实现代码如下所示:

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 = '.*?
'
 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制作一个艺术签名小工具”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享标题:怎么用Python制作一个艺术签名小工具
分享链接:http://6mz.cn/article/pdhgdc.html

其他资讯