一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python生成个性签名图片获取GUI过程解析

时间:2019-12-16 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下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'
' 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),,,command=design) bt.grid(row=1,column=1) window.mainloop()

值得注意的是,在headers里有不同的签名字体可以设置,但是同一名字文件会覆盖。

热门栏目