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正则表达式去掉数字中的逗号(python正则匹配逗号)
Dec 25 Python
python3实现短网址和数字相互转换的方法
Apr 28 Python
Python判断变量是否为Json格式的字符串示例
May 03 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
python3.x实现发送邮件功能
May 22 Python
pyspark操作MongoDB的方法步骤
Jan 04 Python
Python实现投影法分割图像示例(一)
Jan 17 Python
Django框架models使用group by详解
Mar 11 Python
python查找特定名称文件并按序号、文件名分行打印输出的方法
Apr 24 Python
4款Python 类型检查工具,你选择哪个呢?
Oct 30 Python
Python字符串的转义字符
Apr 07 Python
pytorch分类模型绘制混淆矩阵以及可视化详解
Apr 07 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 zip文件解压类代码
2009/12/02 PHP
一段实用的php验证码函数
2016/05/19 PHP
thinkPHP引入类的方法详解
2016/12/08 PHP
java script编程起步(第三课)
2007/01/10 Javascript
ASP.NET jQuery 实例8 (动态添加内容到DropDownList)
2012/02/03 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
js控制input输入字符解析
2013/12/27 Javascript
jquery.ajax之beforeSend方法使用介绍
2014/12/08 Javascript
jQuery的css() 方法使用指南
2015/05/03 Javascript
BootStrap使用popover插件实现鼠标经过显示并保持显示框
2016/06/23 Javascript
JS表格组件BootstrapTable行内编辑解决方案x-editable
2016/09/01 Javascript
jQuery实现select模糊查询(反射机制)
2017/01/14 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
ReactNative短信验证码倒计时控件的实现代码
2017/07/20 Javascript
vue+element-ui+ajax实现一个表格的实例
2018/03/09 Javascript
layui 设置table 行的高度方法
2018/08/17 Javascript
Vue服务端渲染实践之Web应用首屏耗时最优化方案
2019/03/22 Javascript
vue-cli设置publicPath小记
2020/04/14 Javascript
[00:53]TI3正赛第三天 DK怒破A队不败金身 现场国旗飘扬热血激昂
2013/08/10 DOTA
Python yield 使用浅析
2015/05/28 Python
浅析Python与Mongodb数据库之间的操作方法
2019/07/01 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
HTML5触摸事件(touchstart、touchmove和touchend)的实现
2020/05/08 HTML / CSS
Crabtree & Evelyn英国官网:瑰珀翠护手霜、香水、沐浴和身体护理
2018/04/26 全球购物
介绍一下grep命令的使用
2015/06/12 面试题
参观考察邀请函范文
2014/01/29 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
运动会广播稿50字-100字
2014/10/11 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
怎样写家长意见
2015/06/04 职场文书
学校运动会感想
2015/08/10 职场文书
外出考察学习心得体会
2016/01/18 职场文书
Pytest allure 命令行参数的使用
2021/04/18 Python
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL
浅谈什么是SpringBoot异常处理自动配置的原理
2021/06/21 Java/Android