Python生成個(gè)性簽名圖片獲取GUI過程解析
這篇文章主要介紹了Python生成個(gè)性簽名圖片獲取GUI過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
先來看看程序運(yùn)行的樣子:



所以,程序的原理是 從一個(gè)url = ‘
http://www.uustv.com/
'中爬取個(gè)性簽名的圖片。
在該網(wǎng)頁中審查該圖片的元素,然后找到該圖片的imgur
使用正則表達(dá)式直接定位
程序的后面使用到了tkinter的 GUI簡(jiǎn)易界面,用于和用戶的簡(jiǎn)單交互,非常方便。
整個(gè)程序的完整代碼如下: (有任何問題歡迎留言討論)
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='請(qǐng)輸入姓名')
else:
#獲取簽名圖片
data={
'word': name,
'sizes': 60,
'fonts': 'haku.ttf', # jfcs.ttf個(gè)性簽 zql.ttf 商務(wù)簽 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]
#設(shè)置編碼
result.encoding='utf-8'
html=result.text
#print(html) 網(wǎng)頁源代碼 b
#正則表達(dá)式
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)
#設(shè)置窗口
window=tk.Tk()
window.geometry('600x300+200+200')
window.title('簽名設(shè)計(jì)')
#設(shè)置控件
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='設(shè)計(jì)簽名',font=('宋體',15),width=10,height=2,command=design)
bt.grid(row=1,column=1)
window.mainloop()
值得注意的是,在headers里有不同的簽名字體可以設(shè)置,但是同一名字文件會(huì)覆蓋。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python構(gòu)造hive insert語句說明
這篇文章主要介紹了使用Python構(gòu)造hive insert語句說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
python網(wǎng)絡(luò)編程學(xué)習(xí)筆記(四):域名系統(tǒng)
當(dāng)我們?cè)谏暇W(wǎng)的時(shí)候,通常輸入的是網(wǎng)址,其實(shí)這就是一個(gè)域名,而我們計(jì)算機(jī)網(wǎng)絡(luò)上的計(jì)算機(jī)彼此之間只能用IP地址才能相互識(shí)別2014-06-06
使用Python文件讀寫,自定義分隔符(custom delimiter)
這篇文章主要介紹了使用Python文件讀寫,自定義分隔符(custom delimiter),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python實(shí)戰(zhàn)之實(shí)現(xiàn)獲取動(dòng)態(tài)圖表
這篇文章主要介紹了利用Python實(shí)現(xiàn)動(dòng)態(tài)化圖表,文中的示例代碼介紹詳細(xì),對(duì)我們的工作或?qū)W習(xí)有一定的價(jià)值,感興趣的同學(xué)可以學(xué)習(xí)一下2021-12-12
python搭建簡(jiǎn)易服務(wù)器分析與實(shí)現(xiàn)
本文將介紹python搭建簡(jiǎn)易服務(wù)器實(shí)現(xiàn)步驟,需要了解的朋友可以參考下2012-12-12
Python threading Local()函數(shù)用法案例詳解
這篇文章主要介紹了Python threading Local()函數(shù)用法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09

