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写的贪吃蛇游戏例子
Jun 16 Python
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
Python socket编程实例详解
May 27 Python
python清除字符串里非数字字符的方法
Jul 02 Python
Python的Flask框架的简介和安装方法
Nov 13 Python
Python基于回溯法子集树模板解决找零问题示例
Sep 11 Python
python logging模块书写日志以及日志分割详解
Jul 22 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
Oct 24 Python
Python 中@property的用法详解
Jan 15 Python
Python3自定义json逐层解析器代码
May 11 Python
解析Python 偏函数用法全方位实现
Jun 26 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 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
我的论坛源代码(四)
2006/10/09 PHP
php数组去重的函数代码
2013/02/03 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
2015/05/12 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
escape、encodeURI 和 encodeURIComponent 的区别
2009/03/02 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
利用js制作html table分页示例(js实现分页)
2014/04/25 Javascript
JQuery页面地址处理插件jqURL详解
2015/05/03 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
2016/09/20 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
React Native 截屏组件的示例代码
2017/12/06 Javascript
nodejs同步调用获取mysql数据时遇到的大坑
2019/03/02 NodeJs
JS实现表单中点击小眼睛显示隐藏密码框中的密码
2020/04/13 Javascript
vue项目使用$router.go(-1)返回时刷新原来的界面操作
2020/07/26 Javascript
python的几种开发工具介绍
2007/03/07 Python
详解Python中open()函数指定文件打开方式的用法
2016/06/04 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
python 使用cycle构造无限循环迭代器
2020/12/02 Python
css3实现3D色子翻转特效
2014/12/23 HTML / CSS
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
波兰最早的运动鞋精品店之一:Street Supply
2019/08/29 全球购物
大三毕业自我鉴定
2014/01/15 职场文书
县委务虚会发言材料
2014/10/20 职场文书
鲁迅故里导游词
2015/02/05 职场文书
2015年勤工助学工作总结
2015/04/29 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
四年级作文之植物
2019/09/20 职场文书
Python面向对象之内置函数相关知识总结
2021/06/24 Python
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server
我的收音机情缘
2022/04/05 无线电
Nginx的gzip相关介绍
2022/05/11 Servers