专注党建墙、企业文化墙、形象墙文化制作

咨询热线:

132 0871 7866





行业知识

当前位置: 首页 > 新闻百科 > 行业知识

超简单签名设计一笔签 你会用Python设计你的签名吗?

发布时间:2022/11/29    浏览次数:

开发工具:

版本:3.6.4

相关模块:

模块;

PyQt5模块;

模块;

以及一些自带的模块。

环境搭建:

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

原理简介:

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

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

上面那个网站大概长这样子:

超简单签名设计一笔签_贸促会产地证打印手签员签名_设计签名简笔一笔签

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

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

设计签名简笔一笔签_贸促会产地证打印手签员签名_超简单签名设计一笔签

很容易可以分析出:

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

'''生成签名'''
def generate(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 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/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中的图片可以用()来显示,一个简单的例子如下:

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

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

效果展示:

在cmd窗口运行如下命令即可:

python ArtSignGenerator.py


Copyright © 2012-20122 云南昆明睿锋广告UV加工厂 版权所有 Powered by EyouCms      滇ICP备16003948号
电 话:132 0871 7866 手 机:132 0871 7866
地 址:云南省昆明市羊仙坡北路9号
扫一扫关注微信