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函数缺省值与引用学习笔记分享
Feb 10 Python
归纳整理Python中的控制流语句的知识点
Apr 14 Python
在Python中处理时间之clock()方法的使用
May 22 Python
python使用xpath中遇到:到底是什么?
Jan 04 Python
python+matplotlib绘制3D条形图实例代码
Jan 17 Python
更改Python的pip install 默认安装依赖路径方法详解
Oct 27 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
使用Python进行中文繁简转换的实现代码
Oct 18 Python
完美解决pycharm导入自己写的py文件爆红问题
Feb 12 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
详解django使用include无法跳转的解决方法
Mar 19 Python
python爬虫请求头设置代码
Jul 28 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
关于Intype一些小问题的解决办法
2008/03/28 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
destoon常用的安全设置概述
2014/06/21 PHP
Laravel使用memcached缓存对文章增删改查进行优化的方法
2016/10/08 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
QUnit jQuery的TDD框架
2010/11/04 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
jQuery实现360°全景拖动展示
2015/03/18 Javascript
js友好的时间返回函数
2016/08/24 Javascript
详解用webpack2搭建angular2的项目
2017/06/22 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
jquery获取select选中值的文本,并赋值给另一个输入框的方法
2018/08/21 jQuery
vue+iview/elementUi实现城市多选
2019/03/28 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
原生JS实现天气预报
2020/06/16 Javascript
解决vue watch数据的方法被调用了两次的问题
2020/11/07 Javascript
基于scrapy实现的简单蜘蛛采集程序
2015/04/17 Python
Python实现钉钉发送报警消息的方法
2019/02/20 Python
Python利用字典破解WIFI密码的方法
2019/02/27 Python
python绘制动态曲线教程
2020/02/24 Python
HTML5 source标签:媒介元素定义媒介资源
2018/01/29 HTML / CSS
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
美国最好的保健品打折网店:Swanson
2017/08/04 全球购物
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
党校自我鉴定范文
2013/10/02 职场文书
三八妇女节活动总结
2014/05/04 职场文书
广告艺术设计专业自荐书
2014/07/08 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
给老婆的检讨书1000字
2015/01/01 职场文书
2015财务年终工作总结范文
2015/05/22 职场文书
理解深度学习之深度学习简介
2021/04/14 Python
NGINX 权限控制文件预览和下载的实现原理
2022/01/18 Servers
vue elementUI表格控制对应列
2022/04/13 Vue.js