专利名称:一种设置皮肤元素显示效果的方法和装置的制作方法
技术领域:
本发明涉及计算机技术领域,特别涉及一种设置皮肤元素显示效果的方法 和装置。
背景技术:
皮肤引擎是开发者用来构建软件界面的工具库,4艮多开发者进行软件开发 时,都会借助皮肤引擎构建出符合工作目标的程序界面。
皮肤引擎携带有一个界面库,包括各种皮肤元素按钮(Button)、图片 (picture )、文本(Text)和菜单(Menu)等。每个皮肤元素都可以提供自身的 图形。同时皮肤引擎还提供了一个描述工具,用于描述如何通过这些皮肤元素 构成程序界面,比如有的皮肤引擎使用XML ( extensible Markup Language,可 扩展标记语言)语言作为工具来描述组成程序界面的皮肤元素,描述的内容包 括皮肤元素的种类、数量以及皮肤元素的图形在程序界面中的位置等。通过描 述工具的描述,使皮肤元素按照描述的关系进行组织,形成多个皮肤元素組成 的关系树,关系树上的每个节点都是一个皮肤元素的图形。
现有技术中,在使用皮肤引擎绘制程序界面时,都是根据皮肤元素的关系 树按照由底层至上层的顺序绘制皮肤元素的图形。在绘制图形时,通常是由皮 肤引擎发起绘图调用,然后依次将皮肤元素图形的相关数据转化为视图输出于 计算机屏幕上,按照由底层到上层的顺序呈现出目标程序界面。
在对现有技术进行研究后,发明人发现
现有技术中,皮肤引擎按照由底层至上层的顺序逐层绘制皮肤元素时,不 能对皮肤元素图形的显示效果进行编辑,皮肤元素图形的显示效果通常是静态 的,设计的程序界面显示效果比较单一,不能灵活多变地显示皮肤元素图形。
发明内容
为了能够灵活的改变皮肤元素的显示效果,本发明实施例提供了 一种设置
4皮肤元素显示效果的方法和装置。所述技术方案如下 一种设置皮肤元素显示效果的方法,所述方法包括 为皮肤引擎中的每个皮肤元素增加一个调用接口 ; 利用所述调用接口根据预设的显示效果绘制所述皮肤元素的图形。 所述通过所述调用接口根据预设的显示效果绘制所述皮肤元素,包括 通过调用所述皮肤元素的所述调用接口获取所述皮肤元素的图形; 根据预设的显示效果对获取的所述皮肤元素的图形进行编辑; 对编辑后的所述皮肤元素的图形进行绘制。
所述方法还包括
根据预设的显示位置对获取的所述皮肤元素的图形进行编辑; 对编辑后的所述皮肤元素的图形进行绘制。 所述方法还包括
通过调用所述皮肤元素的所述调用接口获取所述皮肤元素的图形; 根据预设的显示大小对获取的所迷皮肤元素的图形进行编辑; 对编辑后的所述皮肤元素的图形进行绘制。 所述显示效果包括动态显示效果和静态显示效果。 一种设置皮肤元素显示效果的装置,所述装置包括 添加模块,用于为皮肤引擎中的每个皮肤元素增加一个调用接口 ; 效果绘制模块,用于利用所述调用接口根据预设的显示效果绘制所述皮肤 元素的图形。
所述效果绘制模块,包括-.
获取单元,用于通过调用所述皮肤元素的所述调用接口获取所述皮肤元素 的图形;
编辑单元,用于根据预设的显示效果对获取的所述皮肤元素的图形进行编
辑;
绘制单元,用于对编辑后的所述皮肤元素的图形进行绘制。 所述装置还包括位置绘制模块,所述位置绘制模块,包括 获取单元,用于通过调用所述皮肤元素的所述调用接口获取所述皮肤元素 的图形;
5编辑单元,用于根据预设的显示位置对获取的所述皮肤元素的图形进行编
辑;
绘制单元,用于对编辑后的所述皮肤元素的图形进行绘制。
所述装置还包括比例绘制模块,所述比例绘制模块,包括 的图形;
编辑单元,用于根据预设的显示比例对获取的所述皮肤元素的图形进行编
辑;
绘制单元,用于对编辑后的所述皮肤元素的图形进行绘制。 所述显示效果包括动态显示效果和静态显示效果。 本发明实施例提供的技术方案带来的有益效果是
通过在皮肤元素中增加一个调用接口 ,在利用皮肤引擎进行界面设计时, 通过该调用接口获取皮肤元素的图形,并可以根据预设的显示效果对皮肤元素 的图形进行编辑,使得皮肤引擎可以灵活多变的实现各种界面效果。
图l是本发明实施例1提供的设置皮肤元素显示效果的方法流程图; 图2是本发明实施例2提供的设置皮肤元素显示效果的方法流程图; 图3是本发明实施例3提供的设置皮肤元素显示效果的装置的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明 实施方式作进一步地详细描述。 实施例1 ,
参见图1,为了能够灵活的改变皮肤元素的显示效果,本实施例提供了一种
设置皮肤元素显示效果的方法,该方法包括
101:为皮肤引擎中的每个皮肤元素增加一个调用接口 。
在本发明实施例中,通过在每个皮肤元素中增加一个调用接口 ,使得外部
的程序或函数在通过该调用接口获取皮肤元素的图形时,可以对皮肤元素图形
的显示效果进行编辑。
6比如,以皮肤元素图片picture为例,图片picture的类为Class Cpicture,定 义如下
Class Cpicture
Int GetLeft(); Int GetRight(); Int GetTop();
Int GetBottom(); 〃设置坐标 Void SetLeft(); Void SetRight(); Void SetTop();
Void SetRight(); 〃获取坐标 SetlmagePath(strPath); 〃i殳计路径 Void Dmw(HDC hdc); 〃绘图函数 };
由上述定义可知,在Cpicture的定义中包括设置坐标、获取坐标、设置 图片元素的图片文件路径以及在屏幕上绘图的函数Draw(HDC hdc)。
为了使图片picture元素能被外部程序或函数调用并编辑,在图片picture元 素的类中,增力口一个Bitmap* getpresentation ()的才妄口,冲各式如下
class Cpicture
Int GetLeft(); Int GetRight(); Int GetTop(); Int GetBo加m(); Void SetLeft(); Void SetRight(); Void SetTop(); Void SetRight(); SetImagePath(strPath);
7Void Draw(HDC hdc);
Bitmap* GetPresentation(); 〃增力。的调用^妄口 };
增加了 GetPresentation的4妄口的图片(picture )元素在净皮外部程序或函凌t调 用时,可以对图片(picture )元素的图形的显示效果进行编辑。
102:利用该调用接口根据预设的显示效果绘制该皮肤元素的图形。
具体的,在使用皮肤引擎绘制程序界面时,如果需要绘制某个皮肤元素的 图形,则先调用该皮肤元素的调用接口获取该皮肤元素的图形,然后根据预"i殳 的显示效果对获取的皮肤元素的图形进行编辑,最后对编辑后的皮肤元素的图 形进行绘制。使绘制的皮肤元素的图形能够以预设的显示效果呈现出来。预设 的显示效果可以是动态的,比如可以为逐渐扩大并逐渐变淡直至消失的效果, 或者是滚动显示的效果。在不需要动态显示皮肤元素的图形时,预设的显示效 果也可以为静态的显示效杲。
具体的,仍以图片(picture)元素为例,当需要某一个图片(picture)元素 的图形P1显示在界面中,且显示效果为逐渐扩大并逐渐变淡直至消失。则可以 使用函数调用图片(picture)元素的调用接口以获取图形Pl,并对图形Pl进行 显示效果的编辑,即根据预设的显示效果,在该函数中配置相应的显示效果参 数,然后对图形P1进行绘制,实现动态显示图形Pl的要求。
显示图形的函凄史可以为g.DrawImage,实现图形动态显示的伪fC码如下
CPiturePl;
bmpPl = Pl.GetPresentation(); Graphics g(hdc); For(循环)
g.DrawImage(bmpPl, Kl, K2);
由上述伪代码可以看出,通过增加GetPresentation()的调用接口 ,使函数 g.DrawIraage在获取图形Pl时,可以对图形Pl的显示效果进行编辑,即将bmpPl 做为函数g.DrawImage的参数,并配置相应的显示效果参数Kl和K2,实现动 态显示图片的目的。其中,配置的参数Kl表示图形在界面中的尺寸逐渐扩大,配置的参数K2表示图形的不透明度从100%开始逐渐减低。
补充说明的是在实现了皮肤元素图形的动态显示后,为了使皮肤元素的 图形显示在适当的位置,还可以通过调用该调用接口获取该皮肤元素的图形, 根据预设的显示位置对获取的该皮肤元素的图形进行编辑,并对编辑后的该皮 肤元素的图形进行绘制,使绘制的皮肤元素的图形能够在预设的显示位置呈现 出来。此外,绘制皮肤元素的图形时,需要考虑的不仅包括显示位置,还包括 图形的显示比例等,此时就需要进一步对皮肤元素的图形进行编辑,编辑的方 法与编辑图形位置的方法类似。
仍以显示图片(picture)元素图形Pl为例,当需要在程序界面上显示图形 Pl,且显示效果为逐渐扩大并逐渐变淡直至消失,显示在程序界面上的坐标为 (x, y),显示比例大小为源图片文件的60%时,则可以在函数中配置相应的显 示效果参数、显示位置参数和显示大小参数,然后对图形P1进行绘制,实现图 形Pl的动态显示。具体的伪代码如下
CPiturePl;
bmpPl = Pl.GetPresentation(); Graphics g(hdc); For(循环)
g.DrawImage(bmpPl, Kl, K2, K3, K4);
其中,配置的参数K1表示图形在界面中的尺寸逐渐扩大,配置的参数K2 表示图形的不透明度从100%开始逐渐减低。配置的参数K3表示图形Pl的坐标 (x, y),配置的参数K4表示图形Pl的大小为源图片文件的60%。
需要强调的是本实施例仅以绘制图片picture元素图形的动态显示为例, 对于其他皮肤元素的图形,比如按钮(Button )、菜单(Menu)和文本(Text) 等元素的图形进行动态显示效果的绘制时,绘制方法与绘制图片(picture)元素 图形的方法类似,此处不再赘述。
本发明实施例通过在皮肤元素中增加一个调用接口 ,在利用皮肤引擎进行 界面设计时,通过该调用接口获取皮肤元素的图形,并才艮据预设的显示效果对 皮肤元素的图形进行编辑,使得皮肤引擎可以灵活多变的实现各种界面效果。
9实施例2
本实施例提供了一种设置皮肤元素显示效果的方法,在实施例1的基础上 进行了扩展,使得设计动态皮肤元素图形的方法可以应用于多种操作界面,如 窗口界面,对话框等。
在本发明实施例中,可以根据实际应用的需要,预先在皮肤引擎的资源库 中添加所需的皮肤元素以及皮肤元素的图形,使得设计人员在对操作界面进行 设计时,可以直接从皮肤引擎的资源库中调用这些皮肤元素。本发明实施例提
供的方法如下
201:为皮肤引擎中的每个皮肤元素增加一个调用接口。
具体的,为皮肤引擎中的每个皮肤元素增加调用接口的方法与101相同,
此处不再赘述。在皮肤元素中增加了调用接口后,就可以对皮肤元素图形的显
示效果进行编辑。
202:在操作界面中添加所需的皮肤元素。
具体的,可以采用从皮肤引擎的资源库中调用皮肤元素的方法,在操作界 面中增加皮肤元素。
比如,在一个窗口界面中,需要新添加一个皮肤元素按钮,则可以从皮肤 引擎的资源库中调用皮肤元素按钮,并将该按钮添加到窗口界面中。
203:为添加的皮肤元素选4奪合适的皮肤元素图形。
具体的,在操作界面中添加了皮肤元素后,还要根据具体需要选择该皮肤 元素的图形。比如,在202中选择了需要添加按钮,则在203中,需要进一步 选择需要添加的按钮的图形,如根据窗口界面的设计需求选择添加一个菱形按 钮。其中,该按钮的图形是预先添加在皮肤引擎的资源库中的,以便于在利用 皮肤引擎进行窗口界面的设计时,能直接从皮肤引擎的资源库中调用该按4丑的 图形。
204:利用该调用接口根据预设的显示效果绘制该皮肤元素的图形。 具体的,在窗口界面中绘制上述皮肤元素图形的方法与102相同,此处不
再赘述。
在本发明实施例中,由于在皮肤元素中增加了调用接口,使得设计人员在 利用函数或程序获取到皮肤元素的图形时,可以对皮肤元素的图形的显示效果 进行编辑,即将皮肤元素的图形做为参数,并配置相应的显示效果参数以实现动态的显示效果,具体方法与实施例l类似,此处不再赘述。
在此基础上,由于在操作界面中添加的皮肤元素的图形可以进行动态的设 计,因此,设计人员可以有更大的创意发挥空间,设计显示效果更好的窗口界 面。比如,在上述添加了菱形按钮的窗口界面中,可以将该菱形按钮设计成秉 化色彩的显示,或者由小变大的显示,使得窗口界面的显示更加丰富和灵活多 变。
需要强调的是本实施例仅以在窗口界面添加动态的皮肤元素图形为例进 行说明,对于其他类型的操作界面,如在对话框等操作界面添加动态皮肤元素 图形的方法与此类似,此处不再赘述。
本发明实施例通过在皮肤元素中增加一个调用接口 ,使得设计人员在利用 皮肤引擎进行操作界面的设计时,可以在操作界面中添加所需的皮肤元素图形, 并可以根据预设的显示效果对皮肤元素图形进行编辑,使得操作界面的显示效 果更加灵活多变。
实施例3
本发明实施例提供了一种设置皮肤元素显示效果的装置,参见图3,包括 添加模块301,用于为皮肤引擎中的每个皮肤元素增加一个调用接口 ; 效果绘制模块302,用于利用该调用接口根据预设的显示效果绘制该皮肤元 素的图形。
具体的,本发明实施例中,可以通过该调用该调用接口获取该皮肤元素的 图形;根据预设的显示效果对获取的该皮肤元素的图形进行编辑并绘制,使绘 制的皮肤元素图形能够以预设的显示效果呈现出来。预设的显示效果可以为静 态的显示效果,也可以为动态的显示效果。
该效果绘制模块302,包括
获取单元302a,用于通过调用该皮肤元素的该调用接口获取该皮肤元素的 图形;
编辑单元302b,用于根据预设的显示效果对获取的该皮肤元素的图形进行 编辑;
绘制单元302c,用于对编辑后的该皮肤元素的图形进行绘制。
进一步的,在实现了皮肤元素图形的动态显示效果后,为了使皮肤元素的
ii图形显示在正确的位置,还可以通过调用该调用接口获取该皮肤元素的图形;
根据预设的显示位置对获取的该皮肤元素的图形进行编辑并绘制;使绘制的皮
肤元素的图形能够在预设的显示位置上呈现出来。
此时,该装置还包括位置绘制模块303,该位置绘制模块303,包括 获取单元303a,用于通过调用该皮肤元素的该调用4妄口获取该皮肤元素的
图形;
编辑单元303b,用于根据预设的显示位置对获取的该皮肤元素的图形进行 编辑;
绘制单元303c,用于对编辑后的该皮肤元素的图形进行绘制。 为了使皮肤元素的图形以合适的比例显示在程序界面中,还可以通过调用 该调用接口获取该皮肤元素的图形;根据预设的显示比例对获取的该皮肤元素 的图形进行编辑并绘制,使绘制的皮肤元素的图形能够以预设的显示比例呈现 出来。
此时,该装置还包括比例绘制模块304,该比例绘制模块304,包括 获取单元304a,用于通过调用该皮肤元素的该调用接口获取该皮肤元素的 图形;
编辑单元304b,用于根据预设的显示比例对获取的该皮肤元素的图形进行 编辑;
绘制单元304c,用于对编辑后的该皮肤元素的图形进行绘制。 本发明实施例通过在皮肤元素中增加一个调用接口 ,在利用皮肤引擎进行 界面设计时,通过该调用接口获取皮肤元素的图形,并可以根据预设的显示效 杲对皮肤元素的图形进行编辑,使得皮肤引擎可以灵活多变的实现各种界面效 果。
本发明实施例可以利用软件实现,相应的软件程序可以存储在可读取的存 储介质中,例如,路由器的硬盘、緩存或光盘中。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的 精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的 保护范围之内。
1权利要求
1、一种设置皮肤元素显示效果的方法,其特征在于,所述方法包括为皮肤引擎中的每个皮肤元素增加一个调用接口;利用所述调用接口根据预设的显示效果绘制所述皮肤元素的图形。
2、根据权利要求1所述的设置皮肤元素显示效果的方法,其特征在于,所 L过所述调用4妾口才艮据预设的显示效杲绘制所述皮肤元素,包括 通过调用所述皮肤元素的所述调用接口获取所述皮肤元素的图形; 根据预设的显示效果对获取的所述皮肤元素的图形进行编辑; 对编辑后的所述皮肤元素的图形进行绘制。
3、根据权利要求1所述的设置皮肤元素显示效果的方法,其特征在于,所 述方法还包括通过调用所述皮肤元素的所述调用接口获取所述皮肤元素的图形; 才艮据预设的显示位置对获取的所述皮肤元素的图形进行编辑; 对编辑后的所述皮肤元素的图形进行绘制。
4、根据权利要求1所述的设置皮肤元素显示效果的方法,其特征在于,所 述方法还包:^舌通过调用所述皮肤元素的所述调用接口获取所述皮肤元素的图形; 根据预设的显示大小对获取的所述皮肤元素的图形进行编辑; 对编辑后的所述皮肤元素的图形进行绘制。
5、根据权利要求1所述的设置皮肤元素显示效果的方法,其特征在于,所 述显示效果包括动态显示效果和静态显示效果。
6、 一种设置皮肤元素显示效果的装置,其特征在于,所述装置包括 添加模块,用于为皮肤引擎中的每个皮肤元素增加一个调用接口; 效果绘制模块,用于利用所述调用接口根据预设的显示效杲绘制所述皮肤元素的图形。
7、根据权利要求6所述的设置皮肤元素显示效果的装置,其特征在于,所 述效果绘制模块,包括获取单元,用于通过调用所述皮肤元素的所述调用接口获取所述皮肤元素 的图形;编辑单元,用于根据预设的显示效果对获取的所述皮肤元素的图形进行编辑;绘制单元,用于对编辑后的所述皮肤元素的图形进行绘制。
8、根据权利要求6所述的设置皮肤元素显示效果的装置,其特征在于,所 述装置还包括位置绘制模块,所述位置绘制模块,包括的图形;编辑单元,用于根据预设的显示位置对获取的所述皮肤元素的图形进行编辑;绘制单元,用于对编辑后的所述皮肤元素的图形进行绘制。
9、根据权利要求6所述的设置皮肤元素显示效果的装置,其特征在于,所 述装置还包括比例绘制模块,所述比例绘制模块,包括获取单元,用于通过调用所述皮肤元素的所述调用接口获取所述皮肤元素 的图形;编辑单元,用于根据预设的显示比例对获取的所述皮肤元素的图形进行编辑;绘制单元,用于对编辑后的所述皮肤元素的图形进行绘制。
10、根据权利要求6所述的设置皮肤元素显示效果的装置,其特征在于,所述显示效果包括动态显示效果和静态显示效果。
全文摘要
本发明公开了一种设置皮肤元素显示效果的方法和装置,涉及计算机技术领域。所述方法包括为皮肤引擎中的每个皮肤元素增加一个调用接口;利用所述调用接口根据预设的显示效果绘制所述皮肤元素的图形。所述装置包括添加模块和效果绘制模块。本发明实施例通过在皮肤元素中增加一个调用接口,在利用皮肤引擎进行界面设计时,通过该调用接口获取皮肤元素的图形,并可以根据预设的显示效果对皮肤元素的图形进行编辑,使得皮肤引擎可以灵活多变的实现各种界面效果。
文档编号G06F9/44GK101493768SQ20091008020
公开日2009年7月29日 申请日期2009年3月13日 优先权日2009年3月13日
发明者登 罗 申请人:腾讯科技(深圳)有限公司