在线制作艺术签名 电子签名生成

来源:
导读 大家好,小华来为大家解答以上问题。在线制作艺术签名,电子签名生成很多人还不知道,现在让我们一起来看看吧! 在线制作艺术签名(

大家好,小华来为大家解答以上问题。在线制作艺术签名,电子签名生成很多人还不知道,现在让我们一起来看看吧!

在线制作艺术签名(电子签名生成)徐大兄弟2021-05-29 11:03:15

相关文件

关注并私信小编给大家分享源码

开发工具

安装python并添加到环境变量,pip安装需要的相关模块即可。

原理介绍

原理说起来蛮简单的,首先,去找个可以根据输入的姓名来为你生成艺术签名的网站:

http://www.jiqie.com/a/14.htm

网站就是这个样子的哟

用Python带大家写个自动生成艺术签名的小工具哟

http://www.jiqie.com/a/14.htm

简单抓包(就是F12打开开发者工具,然后点击一下给我设计,看下生成艺术签名需要构造哪些请求,简单分析一下就行)可以发现请求下图中这个链接就可以返回生成的艺术签名图片链接地址了:

用Python带大家写个自动生成艺术签名的小工具哟

请求时需要携带的参数如下:

用Python带大家写个自动生成艺术签名的小工具哟

很容易就可以分析出:

id:你的名字zhenbi:固定值
id1和id2:艺术签名类型相关参数
id3和id4:艺术签名字体颜色相关参数

于是我们很容易就可以实现根据输入的姓名生成艺术签名啦:

defgenerate(self):
font2ids_dict={'一笔艺术签':['901','15'],'连笔商务签':['904','15'],'一笔商务签':['905','14'],'真人手写':['343','14'],'卡通趣圆字':['397','14'],'暴躁字':['380','14']
}
color2ids_dict={'Black':['#000000','#FFFFFF'],'Blue':['#0000FF','#FFFFFF'],'Red':['#FF0000','#FFFFFF'],'Green':['#00FF00','#FFFFFF'],'Yellow':['#FFFF00','#FFFFFF'],'Pink':['#FFC0CB','#FFFFFF'],'DeepSkyBlue':['#00BFFF','#FFFFFF'],'Cyan':['#00FFFF','#FFFFFF'],'Orange':['#FFA500','#FFFFFF'],'Seashell':['#FFF5EE','#FFFFFF']
}
url='http://www.jiqie.com/a/re14.php'
headers={'Referer':'http://www.jiqie.com/a/14.htm','User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/81.0.4044.129Safari/537.36','Host':'www.jiqie.com','Origin':'http://www.jiqie.com'
}
ids_0=font2ids_dict[self.font_combobox.currentText()]
ids_1=color2ids_dict[self.color_combobox.currentText()]
data={'id':self.name_edit.text(),'zhenbi':'20191123','id1':ids_0[0],'id2':ids_0[1],'id3':ids_1[0],'id5':ids_1[1]
}
res=requests.post(url,headers=headers,data=data)
image_url=re.findall(r'src="(.*?)"',res.text)[0]self.show_image_ext=image_url.split('.')[-1].split('?')[0]
res=requests.get(image_url)
fp=open('tmp.%s'%self.show_image_ext,'wb')
fp.write(res.content)
fp.close()self.show_image=Image.open('tmp.%s'%self.show_image_ext).convert('RGB')self.updateimage()
os.remove('tmp.%s'%self.show_image_ext)

然后再用pyqt5做个简单的GUI界面呗,大概长这样子:

用Python带大家写个自动生成艺术签名的小工具哟

其中GUI中的图片可以用QLabel()来显示,一个简单的例子如下:

show_label=QLabel()
show_image=Image.open('resource/image/ori.jpg').convert('RGB')
fp=io.BytesIO()
show_image.save(fp,'JPEG')
qtimage=QtGui.QImage()
qtimage.loadFromData(fp.getvalue(),'JPEG')
qtimage_pixmap=QtGui.QPixmap.fromImage(qtimage)
show_label.setPixmap(qtimage_pixmap)

其他好像也没啥了,都是pyqt5的基本操作(定义一下组件,然后自己简单布局一下,给按钮设置一下触发的事件函数等等)。

就这样呗,大功告成了,完整源代码详见相关文件~

大家有啥问题或者有啥疑问都可以过来找小编的哟!关注私信小编就可以啦。或者在下方评论哟!!

本文到此结束,希望对大家有所帮助。

标签:

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。