CN102591655A - 一种图标按钮的实现方法和装置 - Google Patents

一种图标按钮的实现方法和装置 Download PDF

Info

Publication number
CN102591655A
CN102591655A CN2011104471185A CN201110447118A CN102591655A CN 102591655 A CN102591655 A CN 102591655A CN 2011104471185 A CN2011104471185 A CN 2011104471185A CN 201110447118 A CN201110447118 A CN 201110447118A CN 102591655 A CN102591655 A CN 102591655A
Authority
CN
China
Prior art keywords
frame
button
broadcast
mouse
state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2011104471185A
Other languages
English (en)
Inventor
方顺豹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Feinno Communication Technology Co Ltd
Original Assignee
Beijing Feinno Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Feinno Communication Technology Co Ltd filed Critical Beijing Feinno Communication Technology Co Ltd
Priority to CN2011104471185A priority Critical patent/CN102591655A/zh
Publication of CN102591655A publication Critical patent/CN102591655A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开一种图标按钮的实现方法和装置。所述方法包括:步骤1,根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式;步骤2,绘制所述背景图片,并根据所述播放方式绘制所述播放帧,并播放绘制的播放帧。本发明的技术方案通过在传统的按钮的基础上,添加一个动画图片,能够提高按钮的显示效果,并根据鼠标不同的状态,确定不同的播放方式和播放帧,按该播放方式绘制所述播放帧,能够提高按钮上的动画图片的展示效果。

Description

一种图标按钮的实现方法和装置
技术领域
本发明涉及计算机图像处理技术领域,特别涉及一种图标按钮的实现方法和装置。
背景技术
随着计算机硬件性能的不断提高,带动了各种UI(即:User Interface用户界面)技术的发展。特别在用户交互UI方面,各种UI层出不穷,使用户在使用体验方面得到了大大的改善。通过改善交互效果,能够提高产品的品质。UI将成为产品开发的重点之一,对一个产品的好坏产生直接的影响。
现有技术的按钮一般只含有显示文字和带有静态图标的提示信息,这些按钮虽然能够确切的表达按钮的含义,但却没有拥有很好的显示效果。
发明内容
本发明提供了一种图标按钮的实现方法和装置,以解决按钮显示效果差的问题。
为达到上述目的,本发明的技术方案是这样实现的:
本发明公开了一种图标按钮的实现方法,该方法包括:
步骤1,根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式;
步骤2,绘制所述背景图片,并根据所述播放方式绘制所述播放帧,并播放绘制的播放帧。
在上述方法中,所述根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式进一步包括:
步骤21,未捕获到鼠标的动作消息,确定鼠标状态为普通状态;或捕获到鼠标左键抬起按钮消息WM_LBUTTONUP,确定鼠标状态为左键在按钮抬起状态;或者捕获到鼠标左键按下按钮消息WM_LBUTTONDOWN,确定鼠标状态为左键在按钮按下状态;
步骤22,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的所述动画图片中指定的一帧,所述播放方式为单帧播放方式。
其中,所述根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步包括:
步骤31,绘制所述指定的一帧,播放所述指定的一帧直到鼠标的状态改变。
其中,所述根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式进一步包括:
步骤41,捕获到鼠标进入按钮范围消息WM_MOUSEHOVER,确定鼠标状态为进入按钮范围状态;或者捕获到鼠标移出按钮范围消息WM_MOUSELEAVE,确定鼠标状态为移出按钮范围状态;
步骤42,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的所述动画图片中指定的多个帧,所述播放方式为多帧播放方式。
其中,所述多帧播放方式的配置参数中包括配置的播放顺序和配置的播放时间间隔;
所述根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步包括:
步骤51,按播放顺序从所述指定的多个帧中获取播放起始帧,以播放起始帧为当前活动帧;
步骤52,绘制当前活动帧,将当前活动帧播放配置的播放时间间隔后,按播放顺序从所述指定的多个帧中获取下一帧;
步骤53,判断获取的帧是否为按播放顺序的播放结束帧,如果为否,则以获取的帧为当前活动帧,执行步骤52,如果是,则绘制并播放所述获取的帧直到鼠标状态改变。
其中,所述步骤42进一步包括:
步骤61A,当鼠标状态为进入按钮范围状态时,所述指定的多个帧为所述动画图片中所有帧,所述播放顺序为顺序播放;
所述按播放顺序从所述指定的多个帧中获取播放起始帧进一步包括:
步骤62A,获取动画图片中第一帧为播放起始帧;
所述按播放顺序从所述指定的多个帧中获取下一帧进一步包括:
步骤63A,将当前活动帧的序号加1得出下一帧的序号,根据所述序号获取所述下一帧;
所述判断获取的帧是否为按播放顺序的播放结束帧进一步包括:
步骤64A,判断获取的帧是否为动画图片中最后一帧;
或者,所述步骤42进一步包括:
步骤61B,当鼠标状态为移出按钮范围状态时,所述指定的多个帧为所述动画图片中所有帧,所述播放顺序为顺序播放;
所述按播放顺序从所述指定的多个帧中获取播放起始帧进一步包括:
步骤62B,获取动画图片中最后一帧为播放起始帧;
所述按播放顺序从所述指定的多个帧中获取下一帧进一步包括:
步骤63B,将当前活动帧的序号减1得出下一帧的序号,根据所述序号获取所述下一帧;
所述判断获取的帧是否为按播放顺序的播放结束帧进一步包括:
步骤64B,判断获取的帧是否为动画图片中第一帧。
其中,所述步骤2还包括:步骤71,绘制按钮预设文字。
其中,所述根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步包括:步骤81,根据播放方式通过图形设备接口GDI+绘制播放帧,并播放绘制的播放帧。
本发明还公开了一种图标按钮的实现装置,该装置包括:
确定模块,用于根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式;
绘制模块,用于绘制所述背景图片,根据所述播放方式绘制所述播放帧,并播放绘制的播放帧。
其中,所述确定模块在根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式时进一步用于未捕获到鼠标的动作消息,确定鼠标状态为普通状态;或捕获到鼠标左键抬起按钮消息WM_LBUTTONUP,确定鼠标状态为左键在按钮抬起状态;或者捕获到鼠标左键按下按钮消息WM_LBUTTONDOWN,确定鼠标状态为左键在按钮按下状态;确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的所述动画图片中指定的一帧,所述播放方式为单帧播放方式。
综上可见,本发明实施例的有益效果是:通过根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式后,绘制该背景图片,根据该播放方式绘制该播放帧,并播放绘制的播放帧,能够实现在传统的按钮的基础上,添加动态图标展示,提高按钮的显示效果,并根据鼠标不同的状态,确定不同的播放方式和播放帧,并按该播放方式绘制所述播放帧,能够提高按钮上的动画图片的展示效果。
附图说明
图1是本发明图标按钮的实现方法的流程图;
图2是本发明图标按钮的实现动画图片播放的流程图;
图3是本发明实施例中图标按钮在进入按钮范围状态时实现动画图片播放的流程图;
图4是本发明实施例中图标按钮在移出按钮范围状态时实现动画图片播放的流程图;
图5是本发明中图标按钮的实现装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
参见图1,是本发明图标按钮的实现方法的流程图,该方法包括:
步骤S100,根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式;
步骤S200,绘制上述背景图片,根据该播放方式绘制上述播放帧,并播放绘制的播放帧。
本发明在传统的按钮的基础上,添加一个动画图片如动态的GIF图标,提高了按钮的显示效果。
在一较佳实施方式中,将鼠标的状态分为两大类,根据当前的鼠标状态,确定对应的动画图片的播放帧为指定的一帧,播放方式为单帧播放;或者,确定对应的动画图片的播放帧为指定的多个帧,播放方式为多帧播放。根据播放帧和播放方式的不同,采用不同的方法绘制播放帧,并播放绘制的播放帧,提高按钮的动态的展示效果。
按单帧播放,所述步骤S100进一步包括如下步骤。
步骤S110A,未捕获到鼠标的动作消息,确定鼠标状态为普通状态;或捕获到鼠标左键抬起按钮消息WM_LBUTTONUP,确定鼠标状态为左键在按钮抬起状态;或者捕获到鼠标左键按下按钮消息WM_LBUTTONDOWN,确定鼠标状态为左键在按钮按下状态;
步骤S120A,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的一帧,播放方式为单帧播放方式。
步骤S200中的根据播放方式绘制播放帧,并播放绘制的播放帧进一步包括:
步骤S210A,绘制上述指定的一帧,播放该指定的一帧直到鼠标的状态改变。
按多帧播放,所述步骤S100进一步包括如下步骤。
步骤S110B,捕获到鼠标进入按钮范围消息WM_MOUSEHOVER,确定鼠标状态为进入按钮范围状态;或者捕获到鼠标移出按钮范围消息WM_MOUSELEAVE,确定鼠标状态为移出按钮范围状态。
步骤S120B,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的多个帧,播放方式为多帧播放方式。
进一步地,多帧播放方式的配置参数中包括配置的播放顺序和配置的播放时间间隔。
其中,步骤S200中的根据该播放方式绘制该播放帧,并播放绘制的播放帧具体包括以下步骤:
步骤S210B,按播放顺序从所述指定的多个帧中获取播放起始帧,以播放起始帧为当前活动帧。
步骤S220B,绘制当前活动帧,将当前活动帧播放配置的播放时间间隔后,按播放顺序从所述指定的多个帧中获取下一帧。
步骤S230B,判断获取的帧是否为按播放顺序的播放结束帧,如果为否,则以获取的帧为当前活动帧,执行步骤S220B,如果是,则绘制并播放所述获取的帧直到鼠标状态改变。
如此操作,根据播放帧和播放方式的不同,采用不同的方法绘制播放帧,并播放绘制的播放帧,提高了按钮上的动画图片的展示效果。
在一较佳实施方式中,在鼠标移入到此按钮中的时候,GIF动画开始播放,播放顺序是从GIF动画图片的第一帧播放到最后一帧便停止播放,停留在最后一帧。当鼠标移出此按钮的时候,GIF的播放顺序是从GIF动画图片的最后一帧播放到第一帧,最后停止播放,最后停留在第一帧。
其中,当鼠标状态为进入按钮范围状态时,指定的多个帧为该动画图片中所有帧,播放顺序为顺序播放;步骤S210B中的按播放顺序从指定的多个帧中获取播放起始帧进一步包括:获取动画图片中第一帧为播放起始帧;按播放顺序从指定的多个帧中获取下一帧进一步包括:将当前活动帧的序号加1得出下一帧的序号,根据所述序号获取所述下一帧;步骤S230B中的判断获取的帧是否为按播放顺序的播放结束帧进一步包括:判断获取的帧是否为动画图片中最后一帧。
当鼠标状态为移出按钮范围状态时,所当鼠标状态为进入按钮范围状态时,指定的多个帧为该动画图片中所有帧,播放顺序为倒序播放;步骤S210B中的按播放顺序从指定的多个帧中获取播放起始帧进一步包括:获取动画图片中最后一帧为播放起始帧;按播放顺序从指定的多个帧中获取下一帧进一步包括:将当前活动帧的序号减1得出下一帧的序号,根据所述序号获取所述下一帧;步骤S230B中的判断获取的帧是否为按播放顺序的播放结束帧进一步包括:判断获取的帧是否为动画图片中第一帧。
其中,步骤S200还包括:绘制按钮预设文字,以显示提示信息。
步骤S200中的根据播放方式绘制播放帧,并播放绘制的播放帧进一步包括:根据播放方式通过图形设备接口GDI+绘制播放帧,并播放绘制的播放帧。
下面结合实施例对本发明实施方式作进一步地详细描述。
本方案在Windows操作系统上制作一个具有如下用户体验的按钮。
在传统的按钮的基础上,在按钮上添加一个动态的GIF图标,根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式。当鼠标移入到此按钮中的时候,GIF动画开始播放,播放顺序是从第一帧播放到最后一帧便停止播放。当鼠标移出此按钮的时候,GIF的播放顺序是从最后一帧播放到第一帧,最后停止播放。
图1是本发明图标按钮的实现方法的流程图,如图1所示,该方法包括:
步骤S100,根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式。
步骤S200,绘制上述背景图片,并根据该播放方式绘制上述播放帧,并播放绘制的播放帧。
其中,步骤S200还可以包括:绘制按钮预置文字,用于显示按钮的功能。
传统的按钮无法灵活的添加动态GIF图标,所以采用自绘按钮的方式对按钮进行绘制。自绘按钮需要捕获各种鼠标状态,在发明中,鼠标的状态包括以下5种状态,并可以通过以下方式确定鼠标状态:
状态1,未捕获到鼠标的动作消息,确定鼠标状态为普通状态,即鼠标未进入按钮范围(Normal);
状态2,捕获到鼠标进入按钮范围消息WM_MOUSEHOVER,确定鼠标状态为进入按钮范围状态,即鼠标进入按钮范围(Enter);
状态3,捕获到鼠标移出按钮范围消息WM_MOUSELEAVE,确定鼠标状态为移出按钮范围状态,即鼠标移出按钮范围(Leave);
状态4,捕获到鼠标左键按下按钮消息WM_LBUTTONDOWN,确定鼠标状态为左键在按钮按下状态,即鼠标左键按下按钮(LButtonDown);
状态5,捕获到鼠标左键抬起按钮消息WM_LBUTTONUP,确定鼠标状态为左键在按钮抬起状态;即鼠标左键在按钮上抬起(LButtonUp)。
上述5种状态在自绘按钮上的展示的按钮的背景图片不同,配置上述5种状态的5张按钮的背景图片。
当鼠标状态为上述状态1、状态4、状态5中的一种时,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的一帧,播放方式为单帧播放方式;在本发明的实施例中,配置的该动画图片中指定的一帧是动画图片的第一帧。
所述根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步包括:绘制所述指定的一帧,播放所述指定的一帧直到鼠标的状态改变。
当鼠标状态为上述状态2、状态3中的一种时,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的多个帧,播放方式为多帧播放方式。其中,在本发明的实施例中,配置的该动画图片中指定的多个帧是动画图片中的所有帧,多帧播放方式的配置参数中包括配置的播放顺序和配置的播放时间间隔。
在本发明中,可使用GDI+来解析和播放GIF动画图片,即根据播放方式通过图形设备接口GDI+绘制播放帧,并播放绘制的播放帧。
这是因为,GDI+的Image对象提供了直接的对GIF、TIF文件格式的支持。首先通过调用Image对象的成员函数可获得GIF图片的总的帧数、每帧图像显示的间隔时间和当前正播放的帧图像的索引值,最后调用Image对象的DrawImage函数把每帧图像绘制出来,并播放绘制的播放帧。其中,通过在绘制每一帧后等待一定的播放时间间隔来实现播放每一帧,其等待一定的时间可以使用线程或者定时器来控制。比如生成一个线程来显示动态图片的帧图像,或者在DrawImage函数中通过定时器设置延时时间。图2是本发明图标按钮的实现动画图片播放的流程图,
如图2所示,具体包括:
步骤S210,按播放顺序从所述指定的多个帧中获取播放起始帧,以播放起始帧为当前活动帧。
步骤S220,绘制当前活动帧,将当前活动帧播放配置的播放时间间隔后,按播放顺序从所述指定的多个帧中获取下一帧。
步骤S230,判断获取的帧是否为按播放顺序的播放结束帧,如果是,则执行步骤S240,如果为否,则执行步骤S250。
步骤S240,绘制并播放所述获取的帧直到鼠标状态改变。
步骤S250,以获取的帧为当前活动帧,执行步骤S220。
当鼠标状态为进入按钮范围状态时,指定的多个帧为该动画图片中所有帧,播放顺序为顺序播放;按播放顺序从指定的多个帧中获取播放起始帧进一步为获取动画图片中第一帧为播放起始帧;按播放顺序从指定的多个帧中获取下一帧进一步为将当前活动帧的序号加1得出下一帧的序号,根据所述序号获取所述下一帧;判断获取的帧是否为按播放顺序的播放结束帧进一步为判断获取的帧是否为动画图片中最后一帧。图3是本发明实施例中图标按钮在进入按钮范围状态时实现动画图片播放的流程图,如图3所示,完成在进入按钮范围状态下的GIF图片的播放的具体流程如下:
步骤S201A,获取第一帧,以获取的第一帧为当前活动帧。
步骤S202A,绘制当前活动帧。
步骤S203A,获取当前活动帧的播放时间。
步骤S204A,等待当前活动帧的播放时间。
步骤S205A,获取下一帧,并判断该下一帧是否为最后一帧,是则执行步骤S206A,否则执行步骤S207A。
步骤S206A,绘制最后一帧。
步骤S207A,设置下一帧为当前活动帧,执行步骤S202A。
当鼠标状态为移出按钮范围状态时,所当鼠标状态为进入按钮范围状态时,指定的多个帧为该动画图片中所有帧,播放顺序为倒序播放;按播放顺序从指定的多个帧中获取播放起始帧进一步为获取动画图片中最后一帧为播放起始帧;按播放顺序从指定的多个帧中获取下一帧进一步包括:将当前活动帧的序号减1得出下一帧的序号,根据所述序号获取所述下一帧;判断获取的帧是否为按播放顺序的播放结束帧进一步为判断获取的帧是否为动画图片中第一帧。图4是本发明实施例中图标按钮在移出按钮范围状态时实现动画图片播放的流程图,如图4所示,完成在移出按钮范围状态下的GIF图片的播放的具体流程如下:
步骤S201B,获取最后一帧,以获取的最后一帧为当前活动帧。
步骤S202B,绘制当前活动帧。
步骤S203B,获取当前活动帧的播放时间。
步骤S204B,等待当前活动帧的播放时间。
步骤S205B,获取下一帧,并判断该下一帧是否为第一帧,是则执行步骤S206B,否则执行步骤S207B。
步骤S206B,绘制第一帧。
步骤S207B,设置下一帧为当前活动帧,执行步骤S202B。
图5是本发明中图标按钮的实现装置的结构图,如图5所示,该装置包括:确定模块501和绘制模块502。
确定模块501,用于根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式;
绘制模块502,用于绘制所述背景图片,根据所述播放方式绘制所述播放帧,并播放绘制的播放帧。
在上述装置中,确定模块501在根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式时进一步用于未捕获到鼠标的动作消息,确定鼠标状态为普通状态;或捕获到鼠标左键抬起按钮消息WM_LBUTTONUP,确定鼠标状态为左键在按钮抬起状态;或者捕获到鼠标左键按下按钮消息WM_LBUTTONDOWN,确定鼠标状态为左键在按钮按下状态;确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的一帧,播放方式为单帧播放方式。
确定模块501在根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式时进一步还用于捕获到鼠标进入按钮范围消息WM_MOUSEHOVER,确定鼠标状态为进入按钮范围状态;或者捕获到鼠标移出按钮范围消息WM_MOUSELEAVE,确定鼠标状态为移出按钮范围状态;确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的多个帧,播放方式为多帧播放方式。
在确定模块501确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的一帧,播放方式为单帧播放方式后,绘制模块502在根据该播放方式绘制上述播放帧,并播放绘制的播放帧时进一步用于绘制上述指定的一帧,播放上述指定的一帧直到鼠标的状态改变。
在确定模块501确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的该动画图片中指定的多个帧,播放方式为多帧播放方式后,绘制模块502进一步用于按播放顺序从所述指定的多个帧中获取播放起始帧,以播放起始帧为当前活动帧,绘制当前活动帧,将当前活动帧播放配置的播放时间间隔后,按播放顺序从所述指定的多个帧中获取下一帧,判断获取的帧是否为按播放顺序的播放结束帧,如果为否,则以获取的帧为当前活动帧,执行所述绘制并播放当前活动帧的操作,如果是,则绘制并播放所述获取的帧直到鼠标状态改变。
多帧播放方式的配置参数中包括配置的播放顺序和配置的播放时间间隔。
当鼠标状态为进入按钮范围状态时,指定的多个帧为该动画图片中所有帧,播放顺序为顺序播放。
所述绘制模块502在按播放顺序从指定的多个帧中获取播放起始帧时进一步用于获取动画图片中第一帧为播放起始帧;
所述绘制模块502在按播放顺序从指定的多个帧中获取下一帧时进一步用于将当前活动帧的序号加1得出下一帧的序号,根据所述序号获取所述下一帧;
所述绘制模块502在判断获取的帧是否为按播放顺序的播放结束帧时进一步用于判断获取的帧是否为动画图片中最后一帧。
绘制模块502进一步用于获取第一帧,以获取的第一帧为当前活动帧,绘制当前活动帧,获取当前活动帧的播放时间,等待当前活动帧的播放时间,获取下一帧,并判断该下一帧是否为最后一帧,如果是则绘制最后一帧,否则设置下一帧为当前活动帧,执行所述绘制当前活动帧的操作。
当鼠标状态为移出按钮范围状态时,所当鼠标状态为进入按钮范围状态时,指定的多个帧为该动画图片中所有帧,播放顺序为倒序播放;
所述绘制模块502在按播放顺序从指定的多个帧中获取播放起始帧时进一步用于获取动画图片中最后一帧为播放起始帧;
所述绘制模块502在按播放顺序从指定的多个帧中获取下一帧时进一步用于将当前活动帧的序号减1得出下一帧的序号,根据所述序号获取所述下一帧;
所述绘制模块502在判断获取的帧是否为按播放顺序的播放结束帧时进一步用于判断获取的帧是否为动画图片中第一帧。
绘制模块502进一步用于获取最后一帧,以获取的最后一帧为当前活动帧,绘制当前活动帧,获取当前活动帧的播放时间,等待当前活动帧的播放时间,获取下一帧,并判断该下一帧是否为第一帧,如果是则绘制第一帧,否则设置下一帧为当前活动帧,执行所述绘制当前活动帧的操作。
绘制模块502,还用于绘制按钮预设文字,在根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步用于根据播放方式通过图形设备接口GDI+绘制播放帧,并播放绘制的播放帧。
综上可见,在本发明中,通过根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式后,绘制该背景图片,并根据该播放方式绘制该播放帧,并播放绘制的播放帧,能够提高按钮的显示效果。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种图标按钮的实现方法,其特征在于,所述方法包括:
步骤1,根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式;
步骤2,绘制所述背景图片,根据所述播放方式绘制所述播放帧,并播放绘制的播放帧。
2.根据权利要求1所述的方法,其特征在于,
所述根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式进一步包括:
步骤21,未捕获到鼠标的动作消息,确定鼠标状态为普通状态;或捕获到鼠标左键抬起按钮消息WM_LBUTTONUP,确定鼠标状态为左键在按钮抬起状态;或者捕获到鼠标左键按下按钮消息WM_LBUTTONDOWN,确定鼠标状态为左键在按钮按下状态;
步骤22,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的所述动画图片中指定的一帧,所述播放方式为单帧播放方式。
3.根据权利要求2所述的方法,其特征在于,
所述根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步包括:
步骤31,绘制所述指定的一帧,播放所述指定的一帧直到鼠标的状态改变。
4.根据权利要求1所述的方法,其特征在于,
所述根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式进一步包括:
步骤41,捕获到鼠标进入按钮范围消息WM_MOUSEHOVER,确定鼠标状态为进入按钮范围状态;或者捕获到鼠标移出按钮范围消息WM_MOUSELEAVE,确定鼠标状态为移出按钮范围状态;
步骤42,确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的所述动画图片中指定的多个帧,所述播放方式为多帧播放方式。
5.根据权利要求4所述的方法,其特征在于,
所述多帧播放方式的配置参数中包括配置的播放顺序和配置的播放时间间隔;
所述根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步包括:
步骤51,按播放顺序从所述指定的多个帧中获取播放起始帧,以播放起始帧为当前活动帧;
步骤52,绘制当前活动帧,将当前活动帧播放配置的播放时间间隔后,按播放顺序从所述指定的多个帧中获取下一帧;
步骤53,判断获取的帧是否为按播放顺序的播放结束帧,如果为否,则以获取的帧为当前活动帧,执行步骤52,如果是,则绘制并播放所述获取的帧直到鼠标状态改变。
6.根据权利要求5所述的方法,其特征在于,
所述步骤42进一步包括:
步骤61A,当鼠标状态为进入按钮范围状态时,所述指定的多个帧为所述动画图片中所有帧,所述播放顺序为顺序播放;
所述按播放顺序从所述指定的多个帧中获取播放起始帧进一步包括:
步骤62A,获取动画图片中第一帧为播放起始帧;
所述按播放顺序从所述指定的多个帧中获取下一帧进一步包括:
步骤63A,将当前活动帧的序号加1得出下一帧的序号,根据所述序号获取所述下一帧;
所述判断获取的帧是否为按播放顺序的播放结束帧进一步包括:
步骤64A,判断获取的帧是否为动画图片中最后一帧;
或者,
所述步骤42进一步包括:
步骤61B,当鼠标状态为移出按钮范围状态时,所述指定的多个帧为所述动画图片中所有帧,所述播放顺序为顺序播放;
所述按播放顺序从所述指定的多个帧中获取播放起始帧进一步包括:
步骤62B,获取动画图片中最后一帧为播放起始帧;
所述按播放顺序从所述指定的多个帧中获取下一帧进一步包括:
步骤63B,将当前活动帧的序号减1得出下一帧的序号,根据所述序号获取所述下一帧;
所述判断获取的帧是否为按播放顺序的播放结束帧进一步包括:
步骤64B,判断获取的帧是否为动画图片中第一帧。
7.根据权利要求1所述的方法,其特征在于,
所述步骤2还包括:
步骤71,绘制按钮预设文字。
8.根据权利要求1所述的方法,其特征在于,
所述根据所述播放方式绘制所述播放帧,并播放绘制的播放帧进一步包括:
步骤81,根据播放方式通过图形设备接口GDI+绘制播放帧,并播放绘制的播放帧。
9.一种图标按钮的实现装置,其特征在于,该装置包括:
确定模块,用于根据当前的鼠标状态确定对应的按钮的背景图片、按钮中动画图片的播放帧和播放方式;
绘制模块,用于绘制所述背景图片,根据所述播放方式绘制所述播放帧,并播放绘制的播放帧。
10.根据权利要求9所述的装置,其特征在于,
所述确定模块在根据当前的鼠标状态确定对应的按钮中动画图片的播放帧和播放方式时进一步用于未捕获到鼠标的动作消息,确定鼠标状态为普通状态;或捕获到鼠标左键抬起按钮消息WM_LBUTTONUP,确定鼠标状态为左键在按钮抬起状态;或者捕获到鼠标左键按下按钮消息WM_LBUTTONDOWN,确定鼠标状态为左键在按钮按下状态;确定当前的鼠标状态对应的按钮中动画图片的播放帧为配置的所述动画图片中指定的一帧,所述播放方式为单帧播放方式。
CN2011104471185A 2011-12-28 2011-12-28 一种图标按钮的实现方法和装置 Pending CN102591655A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104471185A CN102591655A (zh) 2011-12-28 2011-12-28 一种图标按钮的实现方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104471185A CN102591655A (zh) 2011-12-28 2011-12-28 一种图标按钮的实现方法和装置

Publications (1)

Publication Number Publication Date
CN102591655A true CN102591655A (zh) 2012-07-18

Family

ID=46480375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104471185A Pending CN102591655A (zh) 2011-12-28 2011-12-28 一种图标按钮的实现方法和装置

Country Status (1)

Country Link
CN (1) CN102591655A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103500187A (zh) * 2013-09-13 2014-01-08 北京奇虎科技有限公司 一种在浏览器中进行图片处理的方法、装置和浏览器
CN104519404A (zh) * 2013-09-29 2015-04-15 北京新媒传信科技有限公司 图像互换格式文件的播放方法及装置
CN105867914A (zh) * 2016-03-24 2016-08-17 四川长虹电器股份有限公司 iOS自定义UIButton类实现按钮外观及动画效果的方法
CN106294388A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 一种页面展示的方法及终端
CN103809993B (zh) * 2012-11-13 2017-02-22 腾讯科技(深圳)有限公司 利用图标动态展示业务流程的方法及装置
CN106959863A (zh) * 2017-03-30 2017-07-18 成都长天信息技术有限公司 一种静态流媒体处理方法及装置
CN109254772A (zh) * 2018-09-06 2019-01-22 北京酷我科技有限公司 一种笑脸样式的开关按钮的生成方法
CN109587544A (zh) * 2018-09-27 2019-04-05 杭州家娱互动网络科技有限公司 一种图标渲染方法、装置及电子设备
CN111061414A (zh) * 2019-11-28 2020-04-24 北京奇艺世纪科技有限公司 皮肤更换方法、装置、电子设备及可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113330A1 (en) * 2007-10-30 2009-04-30 John Michael Garrison Method For Predictive Drag and Drop Operation To Improve Accessibility
CN101625696A (zh) * 2009-08-03 2010-01-13 孟智平 一种构造和生成网页中视频元素的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090113330A1 (en) * 2007-10-30 2009-04-30 John Michael Garrison Method For Predictive Drag and Drop Operation To Improve Accessibility
CN101625696A (zh) * 2009-08-03 2010-01-13 孟智平 一种构造和生成网页中视频元素的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑琳川: "利用ActionScript和电影剪辑模拟按钮效果", 《中国西部科技》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809993B (zh) * 2012-11-13 2017-02-22 腾讯科技(深圳)有限公司 利用图标动态展示业务流程的方法及装置
US9892255B2 (en) 2012-11-13 2018-02-13 Tencent Technology (Shenzhen) Company Limited Presenting service processes
CN103500187B (zh) * 2013-09-13 2017-03-15 北京奇虎科技有限公司 一种在浏览器中进行图片处理的方法、装置和浏览器
CN103500187A (zh) * 2013-09-13 2014-01-08 北京奇虎科技有限公司 一种在浏览器中进行图片处理的方法、装置和浏览器
CN104519404A (zh) * 2013-09-29 2015-04-15 北京新媒传信科技有限公司 图像互换格式文件的播放方法及装置
CN106294388A (zh) * 2015-05-20 2017-01-04 腾讯科技(深圳)有限公司 一种页面展示的方法及终端
CN105867914B (zh) * 2016-03-24 2019-05-07 四川长虹电器股份有限公司 iOS自定义UIButton类实现按钮外观及动画效果的方法
CN105867914A (zh) * 2016-03-24 2016-08-17 四川长虹电器股份有限公司 iOS自定义UIButton类实现按钮外观及动画效果的方法
CN106959863A (zh) * 2017-03-30 2017-07-18 成都长天信息技术有限公司 一种静态流媒体处理方法及装置
CN106959863B (zh) * 2017-03-30 2021-03-12 成都长天信息技术有限公司 一种静态流媒体处理方法及装置
CN109254772A (zh) * 2018-09-06 2019-01-22 北京酷我科技有限公司 一种笑脸样式的开关按钮的生成方法
CN109587544A (zh) * 2018-09-27 2019-04-05 杭州家娱互动网络科技有限公司 一种图标渲染方法、装置及电子设备
CN111061414A (zh) * 2019-11-28 2020-04-24 北京奇艺世纪科技有限公司 皮肤更换方法、装置、电子设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN102591655A (zh) 一种图标按钮的实现方法和装置
CN108512695B (zh) 监控应用卡顿的方法及装置
US10873769B2 (en) Live broadcasting method, method for presenting live broadcasting data stream, and terminal
CN101867487B (zh) 用图形呼叫连接象征管理联系中心的系统和方法
CN108763012A (zh) 卡顿信息获取方法、装置及终端
CN105278950B (zh) 用于执行视频通话增强功能的方法及其电子装置
CN105094549B (zh) 显示消息的方法及装置
CN107491315A (zh) 消息提示方法、装置及终端
CN103092458B (zh) 移动终端中运行应用程序的装置和方法
EP2306307A2 (en) Terminal apparatus, server apparatus, display control method, and program
CN105094728A (zh) 一种终端智能分屏方法及装置
CN108156303B (zh) 通知提醒方法、装置、终端及存储介质
CN109064538A (zh) 视图渲染方法、装置、存储介质及智能终端
CN106502490A (zh) 一种来电提醒方法及终端
CN108521607A (zh) 视频中广告的处理方法、装置、存储介质及智能终端
CN104539815A (zh) 在通信终端中进行多方通话的方法及装置
CN109445930A (zh) 程序优化方法、装置、终端及存储介质
CN106713381A (zh) 推送服务信息的方法、装置和用户设备
CN101419617A (zh) 一种确定网页对象的方法及装置
CN103067570A (zh) 一种手机、及基于手机的通话悬浮窗显示处理方法及系统
CN106919377B (zh) 确定应用程序的展示界面是否是白屏的方法及装置
CN112672219B (zh) 评论信息的交互方法和装置、电子设备
US7822702B2 (en) Creating a session log for studying usability of computing devices used for social networking by filtering observations based on roles of usability experts
CN103365524A (zh) 基于状态栏图标的应用协同方法及通信终端
CN102567030B (zh) 电视机用户交互界面实现方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120718