用 Python 製作一個藝術簽名小工具,給自己設計一個優雅的簽名


生活中有很多場景都需要我們簽字(簽名),如果是一些不重要的場景,我們的簽名好壞基本無所謂了,但如果是一些比較重要的場景,如果我們的簽名比較差的話,就有可能給別人留下不太好的印象了,俗話說字如其人嘛,本文我們使用 Python 來製作一個藝術簽名小工具,給自己設計一個優雅的簽名。

實現的基本原理爲:我們根據藝術簽名網站生成簽名的規則,模擬對於請求生成簽名,然後將其顯示在 tkinter 生成的 GUI 窗口中。

我們選擇的藝術簽名網站地址爲 http://www.uustv.com/,打開後如下圖所示:

我們接着按 F12 打開開發者工具並選擇 Network,然後輸入一個名字,再點馬上給我設計按鈕,我們可以看到生成簽名發送的請求如下所示:

現在我們就可以根據其生成簽名了,實現代碼如下所示:

url = 'http://www.uustv.com/'
name = enter.get()
if not name:
	messagebox.showinfo('提示:', '請輸入您的名字')
else:
	data = {
		'word': name,
		'sizes': 50,
		# 'fonts': 'jfcs.ttf',  # 個性籤
		# 'fonts': 'qmt.ttf',  # 連筆籤
		# 'fonts': 'bzcs.ttf',  # 瀟灑籤
		# 'fonts': 'lfc.ttf',  # 草體籤
		# 'fonts': 'haku.ttf',  # 合文籤
		# 'fonts': 'zql.ttf',  # 商務籤
		'fonts': 'yqk.ttf',  # 可愛籤
		'fontcolor': '#000000'
	}
	result = requests.post(url, data=data)
	result.encoding = 'utf-8'
	html = result.text
	reg = '<div class="tu">.*?<img src="(.*?)"/></div>'
	img_path = re.findall(reg, html)
	# 圖片完整路徑
	img_url = url + img_path[0]
	# 獲取圖片內容
	response = requests.get(img_url).content
	f = open('{}.gif'.format(name), 'wb')
	# 寫入
	f.write(response)
	# 把圖片放到窗口上,顯示圖片
	bm = ImageTk.PhotoImage(file='{}.gif'.format(name))
	label = Label(root, image=bm)
	label.bm = bm
	# 繪圖
	label.grid(row=2, columnspan=2)

然後我們再將簽名顯示在 tkinter 的 GUI 窗口上即可,實現代碼如下所示:

# 創建窗口
root = Tk()
# 標題
root.title('簽名設計')
# 窗口大小
root.geometry('600x300')
# 窗口的初始位置
root.geometry('+400+200')
# 標籤的控件
label = Label(root, text='輸入名字', font=('宋體', 16), fg='blue')
label.grid()
# 輸入框
enter = Entry(root, font=('宋體', 16))
# 設置輸入框的位置
enter.grid(row=0, column=1)
# 按鈕
button = Button(root, text='設計簽名', font=('宋體', 16), command=sign)
# 設置按鈕的位置
button.grid(row=1, column=0)
# 顯示窗口
root.mainloop()

以商務籤爲例,我們來看一下效果:

是不是有內味了。

作者:程序員野客
公號:Python小二
鏈接:查看更多內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章