zoukankan      html  css  js  c++  java
  • 用 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()

    以商务签为例,我们来看一下效果:

    是不是有内味了。

  • 相关阅读:
    虚函数和纯虚函数
    MS CRM 2011中PartyList类型字段的实例化
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(4)
    MS CRM 2011的自定义与开发(12)——表单脚本扩展开发(2)
    MS CRM 2011的自定义和开发(10)——CRM web服务介绍(第二部分)——IOrganizationService(二)
    MS CRM 2011 SDK 5.08已经发布
    MS CRM 2011 Q2的一些更新
    最近很忙
    Microsoft Dynamics CRM 2011最近的一些更新
    补一篇,Update Rollup 12 终于发布了
  • 原文地址:https://www.cnblogs.com/shann001/p/13037511.html
Copyright © 2011-2022 走看看