python 签名,自动生成签名的软件
文休闲
来源:Python技术“ID: pythonall”
晚上下班回来,发现女朋友坐在办公桌前“做事”。我有点惊讶,没有生动的玉米,也没有哔哩哔哩!
但是看她挠头写东西。
我跑过去问,宝贝,你在干嘛?
她说,我今天签字的时候,发现我的名字很丑。回来就想练,但是写不好。
“别急,先刷视频,休息一下。”
她沮丧地走向沙发。
看到她这样我很难过。我必须做点什么让她开心。还不如在机闪的时候给她做一个个性化的签名软件!
让我们说到做到!
想了一下,不能这么傻。毕竟不专业。做一个扎实的艺术词还是有点难度的。我擅长Python。我就随便找个签名网站合作。我带来技术,它带来界面,我们俩一拍即合!
打开百度,搜索关键词“艺术签名”,立马出来一堆网站。我随便打开一个,界面是这样的:
网站首页看起来不错。先来看看你是不是一个好伙伴(能提供艺术字的界面)。
我直接打开了开发者模式,然后在输入框输入“mydlf”,点击生成,界面上就出现了艺术字。同时,让我们看看网络请求。在这些网络请求中,我注意到两个请求,可能与我们的接口有关。
网络请求接下来,让我们逐一检查这两个请求。打开第一个请求的详细信息,如下所示:
请求1当我看到这个请求的参数时,我知道这是我们的目标,因为它包含了我们需要发送到网站后台的内容。让我们再次查看请求预览,我们知道这个请求返回一个html页面:
网络请求预览返回的页面一般对应的是这个网页的内容,但是美术签名有一个空格,没有显示美术签名。
网络请求响应我们继续查看响应内容,我们可以观察到空白处的html如下所示:
imgid= show img src= cache/162816844360698 . png /这明显是以时间戳命名的图片。
我们来看第二个请求。请求的内容和这张图的名字一样吗?
网络请求2的意思很明显。网站首先返回一个页面,然后请求一个图像并将其加载到这个页面上。
熟悉这个流程后,我们的签名部分就完成了,即:
发送对名称和字体参数的请求以获得HTML;
解析HTML以找到签名图片的名称;
发送图片请求以获取签名图片。
签名部分做好之后,剩下的就是画一个界面,让用户输入名字,选择字体,然后调用签名界面。
签名图片的请求是一个post请求,有四个参数:
word:Name Fonts:Fonts Size:Font Size Font Color:Font Color颜色:Signature Background Color我觉得这个网站的字体大小、背景颜色、字体颜色都很符合我的口味,所以不打算换。只需输入名称和字体。
核心代码是:
URL= http://www . kachayv . cn/ data={ word :name, fonts:mapping_list[font], size :60, fontcolor:#ffffff , colors : # FD 5668 } result=requests . post(URL,data=data)result . encoding= utf-8 html=result . text print(html)p=re . compile( imgid= showImg src= cache/(。*?)/)match=p . find all(html)URL retrieve( 3358 www.kachayv.cn/cache/match[0],。/pic . jpg’)这里先获取签名图片的URL,然后使用URL Retrieve方法保存到本地。
软件界面内容的设计和实现也相对简单。我们需要的只是一个名称输入框,一个字体下拉选择框和一个提交按钮。我们用tkinter简单画一下界面。
核心代码是:
def draw _ window(self):self . init _ window=tk()self . init _ window . title( MyDLF独占签名设计)self . init _ window . geometry( 800 x500 )self . init _ window . geometry( 400 200 )# name self . name _ label=label(self . init _ window,text= named ,font=(Microsoft Yahei ,16),FG= black )self . name _ label . grid(Column=0,columnspan=1) self .name _ entry=entry (self。init _ window,font=(?))自我。name _ entry.grid (row=0,Column=1)#选择字体模式self . font _ label=label(self . init _ window,text= font ,font=(Microsoft Yahei ,16),fg= black )self . font _ label . grid(row=0,column=5,Column span=1)self . combox _ list=ttk。Combobox(self.init_window,text variable=string var())self . combox _ list . grid(row=0,column=6,Sticky= w )self.com box _ list[ value ]=( line bookmark , super art sign , chic sign ,手写连字, line initialling ,花式签,温柔少女,个性签,商务签,正面卡通可爱签)self.combox_list.current(0)#选择第一个#触发器按钮self . button=button(self . init _ window,text= beauty strikes , sticky= w )# pic show self . pic _ label=label(self . init _ window)self . pic _ label . grid(row=3,Column=1,rowspan=10,columnspan=5,sticky= NW )这里有一个麻烦,就是网站的字体类似于“19.ttf”。 我肯定不能在界面上显示这个,而tkinter的下拉选择框比较笨,不能以key-value的形式传递值。
不行,你不能在一棵树上吊死。我只能在中间加一个转换:在界面上显示人类能看懂的汉字。得到这个中文字体名称后,用网站要求的火星文做一个映射。
界面运行后,看起来像这样:
运行接口Fit我们把上面两部分代码整合在一起,然后运行。整个操作过程如下:
后记:女朋友躺在沙发上没多久,我把她叫到书房说,我给你做了个专属签名软件。你觉得合你意吗?
她试了试,然后转向我说,亲爱的,你真棒!虽然界面有点丑,但是这么短的时间就解决了我的烦恼。谢谢大家!
这就是恋人的生活,平淡而简单。其实这个问题根本不需要我做一个很丑的软件。她直接去网站操作,用了几秒钟。不过,如果我花点时间让她成为一个专属的,会让她更开心。事实上,他们不需要你才华横溢或有能力。他们只是需要你在他们需要的时候给他们轻轻的一击,在不经意间给他们惊喜。够了!
PS:天内回复“Python”进入Python新手学习交流群,一起规划100天!
老规矩,还记得吗,兄弟们?右下角的 “在看” 点一下,如果你觉得文章内容不错,记得分享到朋友圈让更多人知道!
【代码获取方式】
识别文末二维码,回复:休闲
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。