这篇文章将为大家详细讲解有关Python如何生成个性签名图片并获取GUI,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
这篇文章主要介绍了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如何生成个性签名图片并获取GUI”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。