Python生成个性签名图片获取GUI过程解析


Posted in Python onDecember 16, 2019

这篇文章主要介绍了Python生成个性签名图片获取GUI过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

先来看看程序运行的样子:

Python生成个性签名图片获取GUI过程解析

Python生成个性签名图片获取GUI过程解析

Python生成个性签名图片获取GUI过程解析

所以,程序的原理是 从一个url = ‘

http://www.uustv.com/

'中爬取个性签名的图片。

在该网页中审查该图片的元素,然后找到该图片的imgur

使用正则表达式直接定位

程序的后面使用到了tkinter的 GUI简易界面,用于和用户的简单交互,非常方便。

整个程序的完整代码如下: (有任何问题欢迎留言讨论)

import tkinter as tk
from tkinter import messagebox
import requests
import re
from PIL import Image,ImageTk


def design():
  name=et.get()
 # print(name)
  name=name.strip()
  if name == '':
    messagebox.showinfo('提示',message='请输入姓名')
  else:
    #获取签名图片
    data={
      'word': name,
      'sizes': 60,
      'fonts': 'haku.ttf',   # jfcs.ttf个性签 zql.ttf 商务签  qmt.ttf连笔签  bzcs.ttf潇洒签  lfc.ttf草体签  haku.ttf合同签   yqk.ttf可爱签
      'fontcolor': '# 000000'
    }
    url='http://www.uustv.com/'

    result=requests.post(url,data)
    # print(result) Response [200]

    #设置编码
    result.encoding='utf-8'
    html=result.text
    #print(html) 网页源代码 b

    #正则表达式
    reg=r'<div class="tu"><img src="(.*?)"/></div>'
    imgpath=re.findall(reg,html)
    imgurl=url+imgpath[0]
    # print(imgurl)

    #保存图片
    response=requests.get(imgurl).content
    with open('{}.gif'.format(name),'wb')as f:
      f.write(response)

    #显示图片
    bm=ImageTk.PhotoImage(file='{}.gif'.format(name))

    label2=tk.Label(window,image=bm)
    label2.bm=bm
    label2.grid(row=2,columnspan=2)

#设置窗口
window=tk.Tk()
window.geometry('600x300+200+200')
window.title('签名设计')
#设置控件
label=tk.Label(window,text='姓名:',font=('宋体',20),fg='red')
label.grid()

et=tk.Entry(window,font=('宋体',20))
et.grid(row=0,column=1)

bt=tk.Button(window,text='设计签名',font=('宋体',15),width=10,height=2,command=design)
bt.grid(row=1,column=1)

window.mainloop()

值得注意的是,在headers里有不同的签名字体可以设置,但是同一名字文件会覆盖。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python的re模块应用实例
Sep 26 Python
详解Python中列表和元祖的使用方法
Apr 25 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
使用python Fabric动态修改远程机器hosts的方法
Oct 26 Python
Python小工具之消耗系统指定大小内存的方法
Dec 03 Python
将python安装信息加入注册表的示例
Nov 20 Python
Python爬虫爬取、解析数据操作示例
Mar 27 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
解析python 类方法、对象方法、静态方法
Aug 15 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 Python
MoviePy常用剪辑类及Python视频剪辑自动化
Dec 18 Python
python自动化调用百度api解决验证码
Apr 13 Python
Python列表切片常用操作实例解析
Dec 16 #Python
python之pymysql模块简单应用示例代码
Dec 16 #Python
python装饰器使用实例详解
Dec 14 #Python
python函数不定长参数使用方法解析
Dec 14 #Python
python如何实现不用装饰器实现登陆器小程序
Dec 14 #Python
python模块和包的应用BASE_PATH使用解析
Dec 14 #Python
python socket通信编程实现文件上传代码实例
Dec 14 #Python
You might like
如何对PHP程序中的常见漏洞进行攻击(下)
2006/10/09 PHP
php下HTTP Response中的Chunked编码实现方法
2008/11/19 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
PHP中Laravel 关联查询返回错误id的解决方法
2017/04/01 PHP
jquery模拟按下回车实现代码
2011/09/20 Javascript
Javascript判断对象是否相等实现代码
2013/03/18 Javascript
JS中判断JSON数据是否存在某字段的方法
2014/03/07 Javascript
jQuery中outerHeight()方法用法实例
2015/01/19 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
轻松学习Javascript闭包函数
2015/12/15 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
JavaScript实现实时更新系统时间的实例代码
2017/04/04 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
打造通用的匀速运动框架(实例讲解)
2017/10/17 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
vue动态路由配置及路由传参的方式
2018/05/23 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
基于JS判断对象是否是数组
2020/01/10 Javascript
小谈angular ng deploy的实现
2020/04/07 Javascript
[46:59]完美世界DOTA2联赛PWL S2 GXR vs Ink 第二场 11.19
2020/11/20 DOTA
python实现微信接口(itchat)详细介绍
2017/10/23 Python
Python标准库inspect的具体使用方法
2017/12/06 Python
Python内置模块hashlib、hmac与uuid用法分析
2018/02/12 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
商场主管竞聘书
2014/03/31 职场文书
集中采购方案
2014/06/10 职场文书
2014年优秀班主任工作总结
2014/12/16 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书
导游词之岳阳楼
2019/09/25 职场文书
PHP面试题 wakeup魔法 Ezpop pop序列化与反序列化
2022/04/11 PHP