您当前的位置 :环球传媒网>下载 > 正文
世界速递!如何在线制作艺术签名?电子签名生成原理是什么?
2022-08-10 10:13:39 来源:青年财富网 编辑:

提起在线制作艺术签名(电子签名生成)大家在熟悉不过了,被越来越多的人所熟知,那你知道在线制作艺术签名(电子签名生成)吗?快和小编一起去了解一下吧!


(资料图片)

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

开发工具

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

原理介绍

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

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

网站就是这个样子的哟

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

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

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

很容易就可以分析出:

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界面呗,大概长这样子:

其中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的基本操作(定义一下组件,然后自己简单布局一下,给按钮设置一下触发的事件函数等等)。


关键词: 在线制作艺术签名 电子签名生成

相关阅读
分享到:
版权和免责申明

凡注有"环球传媒网"或电头为"环球传媒网"的稿件,均为环球传媒网独家版权所有,未经许可不得转载或镜像;授权转载必须注明来源为"环球传媒网",并保留"环球传媒网"的电头。