个性签名软件代码 制作签名的软件
晚上下班回来 , 发现女朋友坐在办公桌前“做事” 。我有点惊讶 , 没有葛优躺着 , 也没有刷着!!!
但是看她挠头写东西 。
我跑过去问 , 宝贝 , 你在干嘛?
她说 , 我今天签字的时候 , 发现我的名字很丑 。回来就想练 , 但是写不好 。
“别急 , 先刷视频 , 休息一下 。”
她沮丧地走向沙发…
看到她这样我很难过 。我必须做点什么让她开心 。还不如在机闪的时候给她做一个个性化的签名软件!
思路 我们开始吧!
想了一下 , 不能这么傻 。毕竟不专业 。做一个扎实的艺术词还是有点难度的 。我擅长Python 。我就随便找个签名网站合作 。我带来技术 , 它带来界面 , 我们俩一拍即合!
打开百度 , 搜索关键词“艺术签名” , 立马出来一堆网站 。我随便打开一个 , 界面是这样的:
网站主页
看起来不错 。先来看看你是不是一个好伙伴(能提供艺术字的界面) 。
我直接打开了开发者模式 , 然后在输入框输入“阿花” , 点击生成 , 界面上就出现了艺术字 。同时 , 让我们看看网络请求 。在这些网络请求中 , 我注意到两个请求 , 可能与我们的接口有关 。
网络请求
接下来 , 让我们逐一检查这两个请求 。打开第一个请求的详细信息 , 如下所示:
网络请求1
【个性签名软件代码 制作签名的软件】当我看到这个请求的参数时 , 我知道这是我们的目标 , 因为它包含了我们需要发送到网站后台的内容 。让我们再次查看请求预览 , 我们知道这个请求返回一个html页面:
网络请求预览
返回的页面一般对应这个网页的内容 , 但是美工签名里面有空空格 , 美工签名不显示 。
网络请求响应
我们继续看响应内容 , 可以观察到那个空白色地方的html是这样的:
这显然是一张以时间戳命名的图片 。
我们来看第二个请求 。请求的内容和这张图的名字一样吗?
网络请求2
意思很明显 。网站首先返回一个页面 , 然后请求一个图像并将其加载到这个页面上 。
熟悉这个流程后 , 我们的签名部分就完成了 , 即:
将姓名、字体参数发送请求 , 获取到一个 HTML; 解析 HTML , 找到签名图片名称; 发送获取图片请求 , 得到签名图片 。签名部分做好之后 , 剩下的就是画一个界面 , 让用户输入名字 , 选择字体 , 然后调用签名界面 。
实现 请求签名图片 该网站的请求是一个post请求 , 有四个参数:
word: 姓名fonts: 字体sizes: 字体大小fontcolor: 字体颜色colors: 签名背景颜色 感觉这个网站的字体大小 , 背景颜色 , 字体颜色都很符合我的口味 , 不打算换了 。只需输入名称和字体 。
核心代码是:
url = 'http://www.kachayv.cn/' data = http://www.laomaozy.com/W-Z/{'word': name, 'fonts': mapping_list[font], 'sizes': 60, 'fontcolor': '#ffffff', 'colors': '#FD5668' } result = requests.post(url, data=http://www.laomaozy.com/W-Z/data) result.encoding ='utf-8' html = result.text print(html) p = re.compile('') match = p.findall(html) urlretrieve('http://www.kachayv.cn/cache/' + match[0], './pic.jpg') 这里先获取签名图片的URL , 然后使用urlretrieve方法保存到本地 。
设计和实现软件界面 界面也比较简单 。我们需要的只是一个名称输入框 , 一个字体下拉选择框和一个提交按钮 。我们用tkinter简单画一下界面 。
核心代码是:
def draw_window(self): self.init_window = Tk() self.init_window.title("阿花专属签名设计") self.init_window.geometry("800x500") self.init_window.geometry("+400+200") # 姓名 self.name_label = Label(self.init_window, text='鼎鼎大名', font=('微软雅黑', 16), fg='black') self.name_label.grid(row=0, column=0, columnspan=1) self.name_entry = Entry(self.init_window, font=('宋体', 16)) self.name_entry.grid(row=0, column=1) # 选择字体模式 self.font_label = Label(self.init_window, text='字体', font=('微软雅黑', 16), fg='black') self.font_label.grid(row=0, column=5, columnspan=1) self.combox_list = ttk.Combobox(self.init_window, textvariable=StringVar()) self.combox_list.grid(row=0, column=6, sticky='W') self.combox_list["value"] = ("行书签", "超级艺术签", "潇洒签", "手写连笔字", "行草签", "花式签", "温柔女生", "个性签", "商务签", "正楷体", "楷书签", "情书签", "卡通可爱签") self.combox_list.current(0) # 选择第一个 # 触发按钮 self.button = Button(self.init_window, text='美好来袭', font=('微软雅黑', 16), command=self.get_sign) self.button.grid(row=1, column=3, rowspan=2, sticky='W') # 图片展示 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的形式传递值 。
推荐阅读
- 苹果手机设置短信加密 苹果手机短信加密软件
- pdf查看器软件推荐 pdf查看器哪个好
- 图片合成在线生成器 照片合成软件
- 一键去除马赛克的软件 消除马赛克还原图片的软件
- 人力资源管理系统 hr软件系统有哪些
- 文件粉碎工具(强制粉碎文件的软件)
- 免费在线格式转换器 万能格式转换器软件
- u盘启动盘制作工具软件哪个纯净(纯净pe工具排行榜)
- 编辑pdf用什么软件免费(免费创建pdf的软件)
- 小说阅读器pc(电脑上的小说阅读软件)
