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实现360的字符显示界面
Feb 21 Python
Python列出一个文件夹及其子目录的所有文件
Jun 30 Python
windows下安装Python和pip终极图文教程
Mar 05 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
wxPython实现窗口用图片做背景
Apr 25 Python
python 解压pkl文件的方法
Oct 25 Python
python中import与from方法总结(推荐)
Mar 21 Python
python 协程 gevent原理与用法分析
Nov 22 Python
python 监测内存和cpu的使用率实例
Nov 28 Python
python yield和Generator函数用法详解
Feb 10 Python
Python bytes string相互转换过程解析
Mar 05 Python
Python日志:自定义输出字段 json格式输出方式
Apr 27 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下实现折线图效果的代码
2007/04/28 PHP
一组PHP可逆加密解密算法实例代码
2014/01/21 PHP
PHP内核学习教程之php opcode内核实现
2016/01/27 PHP
Yii数据读取与跳转参数传递用法实例分析
2016/07/12 PHP
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
jquery slibings选取同级其他元素的实现代码
2013/11/15 Javascript
js中匿名函数的创建与调用方法分析
2014/12/19 Javascript
详解JavaScript编程中的数组结构
2015/10/24 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
node vue项目开发之前后端分离实战记录
2017/12/13 Javascript
解决Webpack 热部署检测不到文件变化的问题
2018/02/22 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
fastadmin中调用js的方法
2019/05/14 Javascript
JS实现的tab切换并显示相应内容模块功能示例
2019/08/03 Javascript
从零开始在vue-cli4配置自适应vw布局的实现
2020/06/08 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
Python中的各种装饰器详解
2015/04/11 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
Python之re操作方法(详解)
2017/06/14 Python
Django内容增加富文本功能的实例
2017/10/17 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
2018/01/04 Python
Numpy 将二维图像矩阵转换为一维向量的方法
2018/06/05 Python
Python实现账号密码输错三次即锁定功能简单示例
2019/03/29 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
Python实现一个数组除以一个数的例子
2019/07/20 Python
Django stark组件使用及原理详解
2019/08/22 Python
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
2016/03/27 面试题
面包店的创业计划书范文
2014/01/16 职场文书
防沙治沙典型材料
2014/05/07 职场文书
出国英文推荐信
2014/05/10 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
长城导游词
2015/01/30 职场文书
民事起诉状范文
2015/05/19 职场文书
一起来看看Vue的核心原理剖析
2022/03/24 Vue.js