這篇文章將為大家詳細講解有關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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。