一种设置相框皮肤的方法和装置技术领域
本发明涉及互联网技术领域,尤其涉及一种设置相框皮肤的方法和装置。
背景技术
随着网络技术的发展和网络影响的扩大,应用于网络的软件产品的重要
性越来越高。通常,软件在运行时会形成用户交互界面,便于接收用户的操
作指令并且及时反馈操作结果。随着计算机图像处理技术的日益完善,目前
已经出现多种皮肤(skin)设计基数来改善软件产品的用户使用体验。
通常,动态皮肤的实现可以提高用户对产品的认同感,现有技术中,有
多种实现皮肤界面元素的变换。在输入法软件中,QQ输入法和搜狗输入法拥
有大量的皮肤,且各自的皮肤引擎均提供对相框皮肤的支持。其中,相框皮
肤为用户交互界面中含有类似生活中的相框的元素,可以通过设置相框皮肤
的显示内容,将图片以相框皮肤中的相片的形式设定为皮肤中的一部分元素
并得以展现。QQ输入法的相框皮肤提供本地的设置,而搜狗输入法的相框皮
肤要在web上才能设置。
目前,相框皮肤中的相片的设置都是通过设置程序实现的,该设置程序
可以是客户端的可执行程序,也可能是web页面中的可执行程序,以上设置
程序都需要用户选择已有的图片文件。
现有技术中,设置相框文件时使用的图片文件通过需要借助截屏软件来
获取。该截屏软件可以是系统自带的截屏软件,用户按下printscreen键,就
可以在剪切板中保存当前系统屏幕的内容,然后打开系统自带的画图程序
(mspaint.exe),粘贴并保存截屏数据,就可以将屏幕内容保存为图片。除系
统自带的截屏软件之外,还可以使用MWSnap和FastStone等截屏软件,另外,
QQ和Msn等互联网软件中提供了截屏功能。
发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
如果用户想将屏幕上的某个元素,比如web上的某张图片,设置为相框
皮肤中的相片,首先需要将图片保存到本地,然后打开相应的设置程序,才
能将图片设置为相框皮肤中的相片,过程比较繁琐,无法快捷地实现相框皮
肤的设置。如果用户无法获知将web上的图片保存为本地文件的方法,或者
web禁止用户保存页面的内容,则无法实现相框皮肤的设置。
发明内容
本发明提供了一种设置相框皮肤的方法和装置,用于提高设置相框皮肤的
效率。
本发明提供了一种设置相框皮肤的方法,包括以下步骤:
截取屏幕数据,并将所述屏幕数据保存为磁盘临时文件;
根据所述磁盘临时文件的路径加载所述磁盘临时文件,将所述磁盘临时文
件添加到客户端程序对应的皮肤文件中,得到所述客户端程序的相框皮肤。
优选地,所述根据磁盘临时文件的路径加载所述磁盘临时文件之前,还包
括:
获取并解析来自截屏进程的命令行参数,得到所述命令行参数中包含的所
述磁盘临时文件的路径。
优选地,所述将屏幕数据保存为磁盘临时文件之后,还包括:
确定所述客户端程序当前使用的皮肤为相框皮肤。
优选地,所述截取屏幕数据,包括:
通过所述客户端程序预先注册的快捷键接收触发命令,根据所述触发命令
截取所述屏幕数据。
优选地,所述通过客户端程序预先注册的快捷键接收触发命令之前,还包
括:
所述客户端程序判断当前系统中是否已注册快捷键,如果没有注册,则注
册所述快捷键;如果已经注册,则检测是否存在注册快捷键的窗口,并在不存
在所述窗口时注册所述快捷键。
优选地,所述得到客户端程序的相框皮肤之后,还包括:
对所述磁盘临时文件进行丢弃处理。
本发明还提供了一种设置相框皮肤的装置,包括:
截屏模块,用于截取屏幕数据,并将所述屏幕数据保存为磁盘临时文件;
设置模块,用于根据来自所述截屏模块的磁盘临时文件的路径加载所述磁
盘临时文件,将所述磁盘临时文件添加到客户端程序对应的皮肤文件中,得到
所述客户端程序的相框皮肤。
优选地,所述设置模块,还用于获取并解析来自截屏进程的命令行参数,
得到所述命令行参数中包含的所述磁盘临时文件的路径。
优选地,所述截屏模块,还用于判断所述客户端程序当前使用的皮肤是否
为相框皮肤,并在所述客户端程序当前使用的皮肤为相框皮肤时,向所述设置
模块提供所述磁盘临时文件的路径。
优选地,所述截屏模块,用于通过所述客户端程序预先注册的快捷键接收
触发命令,根据所述触发命令截取所述屏幕数据。
优选地,所述的装置,还包括:
注册模块,用于判断当前系统中是否已注册快捷键,如果没有注册,则注
册所述快捷键;如果已经注册,则检测是否存在注册快捷键的窗口,并在不存
在所述窗口时注册所述快捷键,供所述截屏模块使用。
优选地,所述设置模块,还用于在得到所述客户端程序的相框皮肤之后,
对所述磁盘临时文件进行丢弃处理。
与现有技术相比,本发明具有以下优点:本发明通过将截取得到的屏幕数
据缓存为磁盘临时文件,并使用该磁盘临时文件设置相框皮肤,可以快速地截
取屏幕上的内容并便捷的设置到相框皮肤中,增加了用户获取图片资源的途
径,能够更加快捷地设置相框皮肤,改善了产品的使用体验。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或
现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中
的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付
出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中的一种设置相框皮肤的方法流程图;
图2为本发明中的设置相框皮肤的应用场景流程图;
图3为本发明中的选取相框皮肤中的相片范围示意图;
图4为本发明中的相框皮肤应用于用户交互界面的示意图;
图5为本发明中的一种设置相框皮肤的装置结构示意图。
具体实施方式
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描
述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下
所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明中的一种设置相框皮肤的方法流程图,包括以下步
骤:
步骤101,截取屏幕数据,并将该屏幕数据保存为磁盘临时文件。
其中,可以通过快捷键启动截屏进程,该快捷键与客户端程序相关,并由
客户端程序预先注册在系统中。
具体地,可以通过客户端程序预先注册的快捷键接收触发命令,根据该触
发命令启动截屏进程,并截取屏幕数据,按照默认设置或用户选择的路径将该
屏幕数据作为磁盘临时文件进行缓存。
步骤102,根据磁盘临时文件的路径加载该磁盘临时文件,将该磁盘临时文
件添加到客户端程序对应的皮肤文件中,得到该客户端程序的相框皮肤。
具体地,在将屏幕数据保存为磁盘临时文件并确定客户端程序当前使用的
皮肤为相框皮肤时,可以获取并解析来自截屏进程的命令行参数,得到该命令
行参数中包含的磁盘临时文件的路径,根据磁盘临时文件的路径加载该磁盘临
时文件,以及默认设置或用户选择的皮肤文件,并根据该磁盘临时文件和皮肤
文件设置相框皮肤,保存设置结果。得到客户端程序的相框皮肤之后,还可以
对设置该相框皮肤时使用的磁盘临时文件进行丢弃处理。
本发明通过将截取得到的屏幕数据缓存为磁盘临时文件,并使用该磁盘临
时文件设置相框皮肤,可以快速地截取屏幕上的内容并便捷的设置到相框皮肤
中,增加了用户获取图片资源的途径,能够更加快捷地设置相框皮肤,改善了
产品的使用体验。
以下结合具体的应用场景,对本发明中的设置相框皮肤的进行详细的描
述。
如图2所示,为本发明中的设置相框皮肤的应用场景流程图,具体包括
以下步骤:
步骤201,应用程序切换出客户端程序,加载客户端程序。
其中,客户端程序可以为输入法等程序,相应地,应用程序可以为需要
使用到输入法的程序,包括office、网页浏览器等。当应用程序切换出输入法
时,系统会请求加载该输入法,即系统文件imm32.dll会加载输入法的ime文
件到应用程序的进程中。
步骤202,客户端程序启动,并判断当前系统中是否已注册快捷键,如果没
有注册,则执行步骤205;如果已经注册,则执行步骤203。
其中,快捷键不是系统全局的,而是与客户端程序中的功能相关的。客户
端程序注册快捷键之后,只要当前系统中存在已加载客户端程序的应用程序,
快捷键就会被响应。如果当前系统中没有任何应用程序程序加载客户端程序,
则快捷键失效,无法触发启动对应的功能,但仍旧可以通过快捷方式或者直接
进文件夹找到并运行可执行程序,实现相应的功能。
步骤203,客户端程序检测是否存在注册快捷键的窗口,如果存在,则执行
步骤204;如果不存在,则执行步骤205。
具体地,如果当前系统中已有其他的进程内的ime文件注册快捷键,则客
户端程序的ime文件不再注册快捷键,而是启动一个检测线程,不断地循环检
测是否存在注册快捷键的窗口。
步骤204,客户端程序延迟一个检测周期。
需要说明的是,执行完本步骤后,继续执行步骤203。
步骤205,客户端程序注册快捷键。
具体地,如果当前系统中没有注册快捷键,则客户端程序的ime文件为客
户端程序注册快捷键。如果当前系统中已注册快捷键,当注册该快捷键的程序
退出时,注册快捷键的窗口不再存在,快捷键无效,客户端程序的ime文件可
以为客户端程序注册快捷键,从而保证系统中只有一个ime的窗口注册该快捷
键。
步骤206,客户端程序通过快捷键接收触发命令,根据该触发命令启动截
屏进程,并截取屏幕数据,将该屏幕数据作为磁盘临时文件进行缓存。
具体地,当快捷键被按下时,系统会将与该快捷键相关的消息发送到该快
捷键的注册窗口,注册窗口在消息循环中检测到该消息后,会响应相应的事
件,启动截屏进程。
例如,当客户端程序为输入法时,可以开发一个截屏工具,并通过输入
法打包该截屏工具,在安装输入法的时候安装到用户机器上。当被应用程序
加载的IME检测到有设定的截屏快捷键被按下的时候,查找安装路径,启动
截屏工具。截屏工具开始截取屏幕数据,截屏完成后保存屏幕数据为磁盘临
时文件。截取到的屏幕数据可以是一张图片,可以保存为bmp文件格式,也
可以保存为其他的图形文件格式,比如jpg、png等。
步骤207,截屏进程判断客户端程序当前使用的皮肤是否为相框皮肤,如果
是,则执行步骤208;否则,结束流程。
具体地,截屏工具完成截屏并将屏幕图形数据保存到本地后,检测当前输
入法程序是否使用的是相框皮肤。输入法当前使用的皮肤保存在系统用户目录
下的CurrentSkin.skn文件,该文件的路径可以为C:/Documents and
Settings/andysong/Application Data/Tencent/QQPinyin,其中,C为系统盘符,如
果系统不在C盘,会有所改变;andysong为用户名,可以根据当前用户的名称
进行调整。截屏工具可以加载皮肤的解析引擎解析输入法当前使用的皮肤,从
而判断当前使用的皮肤是否是相框皮肤。
步骤208,截屏进程启动相框设置程序,并向相框设置程序提供命令行参
数。
具体地,如果客户端程序当前使用的皮肤是相框皮肤,截屏工具可以自动
启动相框设置程序,也可以根据用户的选择启动相框设置程序。
步骤209,相框设置程序获取并解析来自截屏进程的命令行参数,得到该命
令行参数中包含的磁盘临时文件的路径。
其中,命令行参数可以包括皮肤文件和磁盘临时文件的路径等信息。例如,
具体参数格式可以为:##cmd=n&image=c:/a.bmp,其中,n表示命令号,c:/a.bmp
表示截屏工具保存的截取图形的临时位置,该命令行参数的格式可以根据不
同的需求做相应改动。相框设置程序启动之后,根据启动参数格式的设定解
析命令行参数,可以得到皮肤文件和磁盘临时文件的路径。
步骤210,相框设置程序根据磁盘临时文件的路径加载该磁盘临时文件,将
该磁盘临时文件添加到客户端程序对应的皮肤文件中,得到该客户端程序的相
框皮肤。
具体地,相框设置程序根据用户的操作将磁盘临时文件添加到默认设置或
用户选择的皮肤文件中,用户可以在添加过程中进行范围的选取等操作,如图3
所示。设置完毕后,可以保存设置结果到本地,将根据请求设置的磁盘临时文
件截取得到的用户选择部分保存到本地作为相框皮肤的相片,保存的文件格
式可以bmp、jpg和png之类的图形文件。设置完毕的相框皮肤可以应用于客
户端程序的用户交互界面中,如图4所示。
步骤211,相框设置程序对磁盘临时文件进行丢弃处理。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明通过将截取得到的屏幕数据缓存为磁盘临时文件,并使用该磁盘
临时文件设置相框皮肤,可以快速地截取屏幕上的内容并便捷的设置到相框
皮肤中,增加了用户获取图片资源的途径,能够更加快捷地设置相框皮肤,
节省了存储资源,改善了产品的使用体验。
本发明在上述实施方式中提供了设置相框皮肤的方法和应用场景,相应
地,本发明还提供了应用上述设置相框皮肤的方法的装置。
如图5所示,为本发明中的一种设置相框皮肤的装置结构示意图,包括:
截屏模块510,用于截取屏幕数据,并将所述屏幕数据保存为磁盘临时文件。
具体地,上述截屏模块510,用于通过所述客户端程序预先注册的快捷键接
收触发命令,根据所述触发命令截取所述屏幕数据。
设置模块520,用于根据来自截屏模块510的磁盘临时文件的路径加载所述
磁盘临时文件,将所述磁盘临时文件添加到客户端程序对应的皮肤文件中,得
到所述客户端程序的相框皮肤。
具体地,上述设置模块520,用于获取并解析来自截屏进程的命令行参数,
得到所述命令行参数中包含的所述磁盘临时文件的路径。上述设置模块520,还
用于在得到所述客户端程序的相框皮肤之后,对所述磁盘临时文件进行丢弃处
理。
相应地,上述截屏模块510,还用于判断所述客户端程序当前使用的皮肤是
否为相框皮肤,并在所述客户端程序当前使用的皮肤为相框皮肤时,向设置模
块520提供所述磁盘临时文件的路径。
本发明中的设置相框皮肤的装置,还可以进一步包括:
注册模块530,用于判断当前系统中是否已注册快捷键,如果没有注册,则
注册所述快捷键;如果已经注册,则检测是否存在注册快捷键的窗口,并在不
存在所述窗口时注册所述快捷键,供截屏模块510使用。
本发明通过将截取得到的屏幕数据缓存为磁盘临时文件,并使用该磁盘临
时文件设置相框皮肤,可以快速地截取屏幕上的内容并便捷的设置到相框皮肤
中,增加了用户获取图片资源的途径,能够更加快捷地设置相框皮肤,节省了
存储资源,改善了产品的使用体验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发
明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,
但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案
本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,
该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端
设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各
个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普
通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润
饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述
进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一
个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可
以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,
任何本领域的技术人员能思之的变化都应落入本发明的保护范围。