CN102053867A - 一种动态切换图片的方法和装置 - Google Patents
一种动态切换图片的方法和装置 Download PDFInfo
- Publication number
- CN102053867A CN102053867A CN2009102102174A CN200910210217A CN102053867A CN 102053867 A CN102053867 A CN 102053867A CN 2009102102174 A CN2009102102174 A CN 2009102102174A CN 200910210217 A CN200910210217 A CN 200910210217A CN 102053867 A CN102053867 A CN 102053867A
- Authority
- CN
- China
- Prior art keywords
- internal layer
- layer control
- control
- length
- picture
- 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.)
- Granted
Links
Images
Landscapes
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种动态切换图片的方法,包括以下步骤:创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件;调整所述内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。本发明同样公开了一种应用上述方法的装置。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种动态切换图片的方法和装置。
背景技术
IM(Instant Messaging,即时通讯)技术是一种终端服务技术,可以使两个或多个终端通过网络即时的传递文字信息、文件档案,以及实现语音或视频交流等业务。相应地,IM软件是通过IM技术来实现在线聊天、交流的软件。
IM软件可以分为两类,一类个人应用的个人即时通讯,实现个人之间的信息即时交互和沟通;另一类是企业即时通讯,以企业内部办公为主,建立员工交流平台,帮助企业解决信息孤岛、提高运营效率、降低沟通成本、实现人员与业务系统的实时协同,是一种高度可管理、低成本、易部署的IT(Information Technology,信息技术)平台。
随着网络技术的发展,IM工具软件已经被大多数的网民所接受,成为用户必不可少的软件工具,不但在平时的休闲娱乐中,而且在用户的工作中同样得到广泛的使用。因此,用户对IM软件的易用性,稳定性,安全性等方面提出了较高的要求。
在当前主流IM软件中的很多应用场景中,都需要对其界面上展示的图片信息进行切换。现有技术中,当IM界面上展示的信息进行场景切换时,往往会采用瞬间切换策略。IM界面部分的实现绝大多数都是采用Windows(视窗)操作系统的标准控件,且该标准控件均包含窗口句柄。
具体地,控件为GUI(Graphical User Interface,图形用户接口)中屏幕上的一种对象,用户可操作该对象来执行某一行为。控件通常出现在对话框中或工具栏上,用户可以通过与控件的交互输入或操作数据。在Windows操作系统中,句柄是一个系统内部数据结构的引用。例如,当操作一个窗口或者Delphi窗体时,系统会显示一个该窗口对应的句柄:正在操作142号窗口,应用程序可以要求系统对142号窗口进行操作,包括移动窗口、改变窗口大小和把窗口极小化为图标等。Windows API(Application Programming Interface,应用程序编程接口)函数将句柄作为自身的第一个参数,如GDI(GraphicsDevice Interface,图形装置界面)句柄、菜单句柄、实例句柄和位图句柄等。因此,句柄是一种内部代码,可以用于引用受系统控制的特殊元素,如窗口、位图、图标、内存块、光标、字体和菜单等。在Windows操作系统中,句柄是和对象一一对应的32位无符号整数值,对象可以映射到唯一的句柄,句柄也可以映射到唯一的对象。Windows操作系统通过句柄向程序员提供必要的编程接口,在该编程接口中,允许程序员访问、创建和销毁对象。但是,出于封装地考虑,Windows操作系统并不向程序员返回指针,其原因在于:指针包含了太多的信息,首先指针给出了对象存储的确切位置;其次,要操作一个指针,程序员必须知道指针所指对象的内部结构特征,即Windows操作系统必须向程序员暴露相应的数据结构,而该数据结构可能是Windows操作系统向程序员隐藏的内容。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
现有技术中的瞬间切换策略在某些场景下会让用户感到突兀,且一味地采用瞬时切换策略,容易造成用户视觉上的疲劳,导致用户的交互体验相对较差;如果在展示动态效果的过程中程序出现界面迟钝或卡死现象,将会进一步恶化用户体验。另外,采用有窗口控件实现IM界面部分,而有窗口控件相对于无窗口控件而言,控件本身的性能较差。
发明内容
本发明提供了一种动态切换图片的方法和装置,用于增强用户的视觉体验,更好地满足用户的视觉需求。
本发明提供了一种动态切换图片的方法,包括以下步骤:
创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件;
调整所述内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。
优选地,所述调整内层控件的位置,具体包括:
获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,并启动定时器,所述定时器的时长为所述内层控件的渐变间隔时长;
在定时器超时后,按照指定步长滑动内层控件,并将所述定时器清零;
判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时器进行定时。
优选地,所述调整内层控件的位置之前,还包括:
接收切换请求,触发图片切换。
优选地,所述获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,具体包括:
当所述切换请求中包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域、结束区域、渐变间隔时间和指定步长;当所述切换请求中没有包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域和结束区域,并将预设的渐变间隔时间和指定步长作为所述内层控件的渐变间隔时间和指定步长。
优选地,所述按照指定步长滑动内层控件,具体包括:
当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
本发明提供了一种动态切换图片的装置,包括:
创建模块,用于创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件;
调整模块,用于调整所述创建模块创建的内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。
优选地,所述调整模块,具体包括:
获取子模块,用于获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,
定时子模块,用于以所述获取子模块获取的所述内层控件的渐变间隔时长为时长,进行定时;
滑动子模块,用于在所述定时子模块超时后,按照指定步长滑动所述内层控件,并将所述定时子模块清零;
判断子模块,用于判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时子模块进行定时。
优选地,所述的装置,还包括:
接收模块,用于接收切换请求,触发所述调整模块进行图片切换。
优选地,所述获取子模块,具体用于当所述切换请求中包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域、结束区域、渐变间隔时间和指定步长;当所述切换请求中没有包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域和结束区域,并将预设的渐变间隔时间和指定步长作为所述内层控件的渐变间隔时间和指定步长。
优选地,所述滑动子模块,具体用于当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
与现有技术相比,本发明具有以下优点:本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对本发明或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明中的一种动态切换图片的方法流程图;
图2为本发明应用场景中的动态切换图片流程图;
图3为本发明应用场景中的控件层次关系示意图;
图4为本发明应用场景中动态切换图片的第一示意图;
图5为本发明应用场景中动态切换图片的第二示意图;
图6为本发明应用场景中动态切换图片的第三示意图;
图7为本发明应用场景中动态切换图片的第四示意图;
图8为本发明应用场景中图片从展开状态切换到关闭状态流程图;
图9为本发明应用场景中图片从关闭状态切换到展开状态流程图;
图10为本发明中的一种动态切换图片的装置结构示意图;
图11为本发明应用场景中的一种动态切换图片的装置结构示意图。
具体实施方式
本发明提供的技术方案中,其核心思想为创建无窗口控件,包括内层控件和外层控件,通过该外层控件承载图片信息,并指定内层控件为外层控件的父控件;由于外层控件的可见区域只有外层控件和内层控件重叠的区域,可以调整内层控件的位置,动态改变内层控件和所述外层控件之间的重叠区域的大小,即根据内层控件和外层控件之间的关系改变外层控件的可见区域的大小,对外层控件承载的图片信息对应的图片进行动态切换。
具体地,在接收到切换请求后,触发图片切换,获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,并启动定时器,所述定时器的时长为所述内层控件的渐变间隔时长;在定时器超时后,按照指定步长滑动内层控件,并将所述定时器清零;判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时器进行定时。上述指定步长为内层控件每次滑动前的位置和滑动后的位置之间的距离,该距离可以为固定值,可以使用像素作为自身的单位。例如,指定步长可以为5个像素或者10个像素。在图片切换的过程中,可以预先设定指定步长的大小,也可以根据具体的应用场景计算得到指定步长的大小。
其中,所述获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,具体包括:当所述切换请求中包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域、结束区域、渐变间隔时间和指定步长;当所述切换请求中没有包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域和结束区域,并将预设的渐变间隔时间和指定步长作为所述内层控件的渐变间隔时间和指定步长。
当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
下面将结合本发明中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明中的一种动态切换图片的方法流程图,包括以下步骤:
步骤101,创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件。
其中,内层控件和外层控件均为无窗口控件,即没有对应一个实际的Windows窗口,只有唯一的父窗口。在创建内层控件和外层控件时,指定该控件的区域大小;在图像绘制时,只需要在该区域上绘制出该控件。由于所有控件都是在唯一的一个父窗口中绘制出来的,所以当两个控件在发生有重叠区域时,需要指定两者之间的前后关系,即内层控件和外层控件的层次关系,外层控件盖住内层控件,内层控件可以间接地理解为外层控件的父控件。在绘制控件时,由于内层控件和外层控件具有唯一的父窗口,可以在该父窗口上实现绘制区域。外层控件的可见区域只有外层控件和内层控件重叠的区域,对于外层控件超出内层控件的区域,可以不绘制出来。
步骤102,调整所述内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。
具体地,可以获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,并启动定时器,所述定时器的时长为所述内层控件的渐变间隔时长;在定时器超时后,按照指定步长滑动内层控件,并将所述定时器清零;判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时器进行定时。
其中,当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。
以下结合具体应用场景,对本发明的方法进行详细的描述。本发明方法可以应用Windows操作系统下的GDI程序,该GDI程序为可执行程序,可以接收Windows应用程序的绘图请求(表现为GDI函数调用),并将接收到的会话请求发送给相应的设备驱动程序,完成特定于硬件的输出,例如打印机输出和屏幕输出。Windows下的绘图操作为DC(Device Context,设备环境)操作,DC对象为一个抽象的作图环境,可以是对应屏幕,也可以是对应打印机或其它作图环境。因此,基于Windows操作系统的设备无关性,DC操作的作图环境是设备无关的,在对不同的设备输出时只需要使用不同的设备环境,而作图方式可以完全不变。如图2所示,为本发明应用场景中的动态切换图片流程图,具体包括以下步骤:
步骤201,创建内层控件和外层控件,通过该外层控件承载图片信息,并指定内层控件为外层控件的父控件。
具体地,与依赖于一个真实的Windows窗口作为承载的对象的Windows控件不同,本发明中使用的控件没有对应一个实际的Windows窗口,所有的控件只有唯一的父窗口。在创建无窗口控件时,指定该控件的区域大小;在图像绘制时,只需要在该区域上绘制出该控件。
由于所有控件都是在唯一的一个父窗口中绘制出来的,所以当两个控件在发生有重叠区域时,需要指定两者之间的前后关系,即内层控件和外层控件的层次关系,外层控件盖住内层控件,内层控件可以间接地理解为外层控件的父控件。如图3所示,为本发明应用场景中的控件层次关系示意图,包括内层控件和外层控件,其中,内层控件和外层控件均为无窗口控件,外层控件指定内层控件为其父控件,外层控件有超出内层控件的区域。在绘制控件时,由于内层控件和外层控件具有唯一的父窗口,可以在该父窗口上实现绘制区域。外层控件的可见区域只有外层控件和内层控件重叠的区域,对于外层控件超出内层控件的区域,可以不绘制出来。
步骤202,接收切换请求,触发图片切换。
其中,切换请求可以由用户发起,也可以由设备中的应用程序发起。当用户发起切换请求时,可以点击IM应用环境中的触发按钮,触发图片切换。
步骤203,获取内层控件的初始区域、结束区域、渐变间隔时间和指定步长。
具体地,可以根据接收到的切换请求,计算内层控件的初始区域和结束区域,其中,初始区域为内层控件在滑动前的位置,结束区域为内层空间在滑动后的位置。此外,指定步长为内层控件每次滑动前的位置和滑动后的位置之间的距离,该距离可以为固定值,可以使用像素作为自身的单位。例如,指定步长可以为5个像素或者10个像素。在图片切换的过程中,可以预先设定指定步长的大小,也可以根据具体的应用场景计算得到指定步长的大小。当切换请求中包含对切换完成时间和速度的要求时,还可以根据该切换请求,计算内层控件的渐变间隔时间和指定步长;当切换请求中没有包含对切换完成时间和速度的要求时,可以将预设的渐变间隔时间和指定步长作为内层控件的渐变间隔时间和指定步长。
步骤204,启动定时器。
步骤205,在定时器超时后,按照指定步长滑动内层控件,并将定时器清零。
其中,定时器的时长为内层控件的渐变间隔时间,在定时器的时间到达内层控件的渐变间隔时间,可以将内层控件向靠近外层控件的方向或者向远离外层控件的方向滑动一个指定步长,改变内层控件与外层控件的重叠区域的大小,即外层控件承载的图片信息对应的图片的大小。
具体地,当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
步骤206,判断内层控件是否到达结束区域,如果内层控件没有到达结束区域,则执行步骤204;如果内层控件到达结束区域,则结束流程。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。
在不同的应用场景中,涉及到对图片切换的不同要求,包括将图片从展开状态切换到关闭状态,以及将图片从关闭状态切换到展开状态。如图4、图5、图6和图7所示,分别为本发明应用场景中动态切换图片的第一、第二、第三和第四示意图,其中,图4、图5、图6和图7的右方为进行动态切换的图片,将该图片从展开状态切换到关闭状态时,该图片将依次经历图4到图5、图5到图6、图6到图7的切换过程;将该图片从关闭状态切换到展开状态时,该图片将依次经历图7到图6、图6到图5、图5到图4的切换过程。
如图8所示,为本发明应用场景中图片从展开状态切换到关闭状态流程图,具体包括以下步骤:
步骤801,创建内层控件和外层控件,通过该外层控件承载图片信息,并指定内层控件为外层控件的父控件。
其中,内层控件和外层控件均为无窗口控件,即没有对应一个实际的Windows窗口,只有唯一的父窗口。在创建内层控件和外层控件时,指定该控件的区域大小;在图像绘制时,只需要在该区域上绘制出该控件。由于所有控件都是在唯一的一个父窗口中绘制出来的,所以当两个控件在发生有重叠区域时,需要指定两者之间的前后关系,即内层控件和外层控件的层次关系,外层控件盖住内层控件,内层控件可以间接地理解为外层控件的父控件。在绘制控件时,由于内层控件和外层控件具有唯一的父窗口,可以在该父窗口上实现绘制区域。外层控件的可见区域只有外层控件和内层控件重叠的区域,对于外层控件超出内层控件的区域,可以不绘制出来。
步骤802,接收切换请求,触发图片从展开状态切换到关闭状态。
其中,切换请求可以由用户发起,也可以由设备中应用程序发起。当用户发起切换请求时,可以点击IM应用环境中的触发按钮,触发图片切换。
步骤803,获取内层控件的初始区域、结束区域、渐变间隔时间和指定步长。
具体地,可以根据接收到的切换请求,计算内层控件的初始区域和结束区域,其中,初始区域为内层控件在滑动前的位置,结束区域为内层空间在滑动后的位置。当切换请求包含对切换完成时间和速度的要求时,还可以根据该切换请求,计算内层控件的渐变间隔时间和指定步长;当切换请求没有包含对切换完成时间和速度的要求时,可以将预设的渐变间隔时间和指定步长作为内层控件的渐变间隔时间和指定步长。
步骤804,启动定时器,该定时器的时长为内层控件的渐变间隔时间。
步骤805,在定时器超时后,将内层控件向远离外层控件的方向滑动一个指定步长,并将定时器清零。
需要说明的是,本发明的技术方案并不限定在定时器超时后,将内层控件滑动的指定步长数,任意滑动内层控件的技术方案均属于本发明的保护范围。
步骤806,判断内层控件是否到达结束区域,如果内层控件没有到达结束区域,则执行步骤804;如果内层控件到达结束区域,则结束流程。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。
如图9所示,为本发明应用场景中图片从关闭状态切换到展开状态流程图,具体包括以下步骤:
步骤901,创建内层控件和外层控件,通过该外层控件承载图片信息,并指定内层控件为外层控件的父控件。
其中,内层控件和外层控件均为无窗口控件,即没有对应一个实际的Windows窗口,只有唯一的父窗口。在创建内层控件和外层控件时,指定该控件的区域大小;在图像绘制时,只需要在该区域上绘制出该控件。由于所有控件都是在唯一的一个父窗口中绘制出来的,所以当两个控件在发生有重叠区域时,需要指定两者之间的前后关系,即内层控件和外层控件的层次关系,外层控件盖住内层控件,内层控件可以间接地理解为外层控件的父控件。在绘制控件时,由于内层控件和外层控件具有唯一的父窗口,可以在该父窗口上实现绘制区域。外层控件的可见区域只有外层控件和内层控件重叠的区域,对于外层控件超出内层控件的区域,可以不绘制出来。
步骤902,接收切换请求,触发图片从展开状态切换到关闭状态。
其中,切换请求可以由用户发起,也可以由设备中应用程序发起。当用户发起切换请求时,可以点击IM应用环境中的触发按钮,触发图片切换。
步骤903,获取内层控件的初始区域、结束区域、渐变间隔时间和指定步长。
具体地,可以根据接收到的切换请求,计算内层控件的初始区域和结束区域,其中,初始区域为内层控件在滑动前的位置,结束区域为内层空间在滑动后的位置。当切换请求包含对切换完成时间和速度的要求时,还可以根据该切换请求,计算内层控件的渐变间隔时间和指定步长;当切换请求没有包含对切换完成时间和速度的要求时,可以将预设的渐变间隔时间和指定步长作为内层控件的渐变间隔时间和指定步长。
步骤904,启动定时器,该定时器的时长为内层控件的渐变间隔时间。
步骤905,在定时器超时后,将内层控件向靠近外层控件的方向滑动一个指定步长,并将定时器清零。
需要说明的是,本发明的技术方案并不限定在定时器超时后,将内层控件滑动的指定步长数,任意滑动内层控件的技术方案均属于本发明的保护范围。
步骤906,判断内层控件是否到达结束区域,如果内层控件没有到达结束区域,则执行步骤904;如果内层控件到达结束区域,则结束流程。
需要说明的是,本发明方法可以根据实际需要对各个步骤顺序进行调整。
本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。
本发明在上述实施方式中提供了动态切换图片的方法和应用场景,相应地,本发明还提供了应用上述动态切换图片的方法的装置。
如图10所示,为本发明中的一种动态切换图片的装置结构示意图,包括:
创建模块1010,用于创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件。
其中,内层控件和外层控件均为无窗口控件,即没有对应一个实际的Windows窗口,只有唯一的父窗口。创建模块1010在创建内层控件和外层控件时,指定该控件的区域大小;在图像绘制时,只需要在该区域上绘制出该控件。由于所有控件都是在唯一的一个父窗口中绘制出来的,所以当两个控件在发生有重叠区域时,需要指定两者之间的前后关系,即内层控件和外层控件的层次关系,外层控件盖住内层控件,内层控件可以间接地理解为外层控件的父控件。在绘制控件时,由于内层控件和外层控件具有唯一的父窗口,可以在该父窗口上实现绘制区域。外层控件的可见区域只有外层控件和内层控件重叠的区域,对于外层控件超出内层控件的区域,可以不绘制出来。
调整模块1020,用于调整创建模块1010创建的内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。
上述调整模块1020,具体用于获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,并启动定时器,所述定时器的时长为所述内层控件的渐变间隔时长;在定时器超时后,按照指定步长滑动内层控件,并将所述定时器清零;判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时器进行定时。上述指定步长为内层控件每次滑动前的位置和滑动后的位置之间的距离,该距离可以为固定值,可以使用像素作为自身的单位。例如,指定步长可以为5个像素或者10个像素。在图片切换的过程中,可以预先设定指定步长的大小,也可以根据具体的应用场景计算得到指定步长的大小。
其中,当图片从展开状态切换到关闭状态时,调整模块1020将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,调整模块1020将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。
如图11所示,为本发明应用场景中的一种动态切换图片的装置结构示意图,包括:
创建模块1110,用于创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件。
其中,内层控件和外层控件均为无窗口控件,即没有对应一个实际的Windows窗口,只有唯一的父窗口。创建模块1110在创建内层控件和外层控件时,指定该控件的区域大小;在图像绘制时,只需要在该区域上绘制出该控件。由于所有控件都是在唯一的一个父窗口中绘制出来的,所以当两个控件在发生有重叠区域时,需要指定两者之间的前后关系,即内层控件和外层控件的层次关系,外层控件盖住内层控件,内层控件可以间接地理解为外层控件的父控件。在绘制控件时,由于内层控件和外层控件具有唯一的父窗口,可以在该父窗口上实现绘制区域。外层控件的可见区域只有外层控件和内层控件重叠的区域,对于外层控件超出内层控件的区域,可以不绘制出来。
接收模块1120,用于接收切换请求,触发所述调整模块1130进行图片切换。
其中,切换请求可以由用户发起,也可以由设备中的应用程序发起。当用户发起切换请求时,可以点击IM应用环境中的触发按钮,触发图片切换。
调整模块1130,用于调整所述创建模块1110创建的内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。
上述调整模块1130,具体用于获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,并启动定时器,所述定时器的时长为所述内层控件的渐变间隔时长;在定时器超时后,按照指定步长滑动内层控件,并将所述定时器清零;判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时器进行定时。
其中,当图片从展开状态切换到关闭状态时,调整模块1130将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,调整模块1130将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
上述调整模块1130,具体包括:
获取子模块1131,用于获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长。
上述获取子模块1131,具体用于当所述切换请求中包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域、结束区域、渐变间隔时间和指定步长;当所述切换请求中没有包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域和结束区域,并将预设的渐变间隔时间和指定步长作为所述内层控件的渐变间隔时间和指定步长。
定时子模块1132,用于以所述获取子模块1131获取的所述内层控件的渐变间隔时长为时长,进行定时。
滑动子模块1133,用于在所述定时子模块1132超时后,按照指定步长滑动所述内层控件,并将所述定时子模块清零。
上述滑动子模块1133,具体用于当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
需要说明的是,本发明的技术方案并不限定在定时器超时后,将内层控件滑动的指定步长数,任意滑动内层控件的技术方案均属于本发明的保护范围。
判断子模块1134,用于判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时子模块1132进行定时。
本发明通过调整内层控件的位置,对外层控件承载的图片信息对应的图片进行动态切换,能够在性能最优的情况下实现图片的动态滑动的效果,增强用户的视觉体验,更好地满足用户的视觉需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以集成于一体,也可以分离部署;可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种动态切换图片的方法,其特征在于,包括以下步骤:
创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件;
调整所述内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。
2.如权利要求1所述的方法,其特征在于,所述调整内层控件的位置,具体包括:
获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,并启动定时器,所述定时器的时长为所述内层控件的渐变间隔时长;
在定时器超时后,按照指定步长滑动内层控件,并将所述定时器清零;
判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时器进行定时。
3.如权利要求1或2所述的方法,其特征在于,所述调整内层控件的位置之前,还包括:
接收切换请求,触发图片切换。
4.如权利要求3所述的方法,其特征在于,所述获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,具体包括:
当所述切换请求中包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域、结束区域、渐变间隔时间和指定步长;当所述切换请求中没有包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域和结束区域,并将预设的渐变间隔时间和指定步长作为所述内层控件的渐变间隔时间和指定步长。
5.如权利要求3所述的方法,其特征在于,所述按照指定步长滑动内层控件,具体包括:
当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
6.一种动态切换图片的装置,其特征在于,包括:
创建模块,用于创建内层控件和外层控件,通过所述外层控件承载图片信息,并指定所述内层控件为所述外层控件的父控件;
调整模块,用于调整所述创建模块创建的内层控件的位置,改变所述外层控件的可见区域的大小,对所述外层控件承载的图片信息对应的图片进行动态切换。
7.如权利要求6所述的装置,其特征在于,所述调整模块,具体包括:
获取子模块,用于获取所述内层控件的初始区域、结束区域、渐变间隔时长和指定步长,
定时子模块,用于以所述获取子模块获取的所述内层控件的渐变间隔时长为时长,进行定时;
滑动子模块,用于在所述定时子模块超时后,按照指定步长滑动所述内层控件,并将所述定时子模块清零;
判断子模块,用于判断所述内层控件是否到达所述结束区域,如果所述内层控件到达所述结束区域,则结束流程;如果所述内层控件没有到达所述结束区域,则继续启动所述定时子模块进行定时。
8.如权利要求6或7所述的装置,其特征在于,还包括:
接收模块,用于接收切换请求,触发所述调整模块进行图片切换。
9.如权利要求8所述的装置,其特征在于,
所述获取子模块,具体用于当所述切换请求中包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域、结束区域、渐变间隔时间和指定步长;当所述切换请求中没有包含对切换完成时间和速度的要求时,根据所述切换请求计算所述内层控件的初始区域和结束区域,并将预设的渐变间隔时间和指定步长作为所述内层控件的渐变间隔时间和指定步长。
10.如权利要求8所述的装置,其特征在于,
所述滑动子模块,具体用于当图片从展开状态切换到关闭状态时,将所述内层控件向远离所述外层控件的方向滑动一个指定步长;当图片从关闭状态切换到展开状态,将所述内层控件向靠近所述外层控件的方向滑动一个指定步长。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910210217.4A CN102053867B (zh) | 2009-10-28 | 2009-10-28 | 一种动态切换图片的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910210217.4A CN102053867B (zh) | 2009-10-28 | 2009-10-28 | 一种动态切换图片的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102053867A true CN102053867A (zh) | 2011-05-11 |
CN102053867B CN102053867B (zh) | 2015-06-17 |
Family
ID=43958220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910210217.4A Active CN102053867B (zh) | 2009-10-28 | 2009-10-28 | 一种动态切换图片的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102053867B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662664A (zh) * | 2012-03-28 | 2012-09-12 | 奇智软件(北京)有限公司 | 界面动画实现方法及系统 |
CN103001852A (zh) * | 2012-08-29 | 2013-03-27 | 五八同城信息技术有限公司 | 一种基于即时通信的系统托盘处理方法和装置 |
CN103106017A (zh) * | 2013-01-30 | 2013-05-15 | 北京奇虎科技有限公司 | 切换终端桌面背景的客户端、系统和方法 |
CN103472989A (zh) * | 2013-08-26 | 2013-12-25 | 广州市久邦数码科技有限公司 | 一种壁纸的切换方法及终端 |
CN104506921A (zh) * | 2014-12-24 | 2015-04-08 | 天脉聚源(北京)科技有限公司 | 一种动态显示图片的方法及装置 |
CN104599307A (zh) * | 2015-02-11 | 2015-05-06 | 成都品果科技有限公司 | 一种在移动终端上采用动画显示图片的方法 |
CN109151573A (zh) * | 2018-09-30 | 2019-01-04 | Oppo广东移动通信有限公司 | 视频增强控制方法、装置以及电子设备 |
CN109259653A (zh) * | 2018-06-15 | 2019-01-25 | 汤瑞平 | 一种单刷玻璃幕墙清洗设备 |
CN109908576A (zh) * | 2019-02-22 | 2019-06-21 | 网易(杭州)网络有限公司 | 一种信息模块的呈现方法及装置、电子设备、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1997191A (zh) * | 2006-09-30 | 2007-07-11 | 武汉市迅彩科技有限责任公司 | 一种在移动通讯终端中显示动画的方法 |
CN1995919B (zh) * | 2006-12-22 | 2012-07-18 | 深圳市凯立德科技股份有限公司 | 一种导航图像比例尺的自动控制方法、装置及设备 |
CN101387954B (zh) * | 2007-09-10 | 2011-06-22 | 汉王科技股份有限公司 | 实现可拉伸涂写的电子幕布的方法 |
-
2009
- 2009-10-28 CN CN200910210217.4A patent/CN102053867B/zh active Active
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102662664A (zh) * | 2012-03-28 | 2012-09-12 | 奇智软件(北京)有限公司 | 界面动画实现方法及系统 |
CN103001852B (zh) * | 2012-08-29 | 2015-10-07 | 五八同城信息技术有限公司 | 一种基于即时通信的系统托盘处理方法和装置 |
CN103001852A (zh) * | 2012-08-29 | 2013-03-27 | 五八同城信息技术有限公司 | 一种基于即时通信的系统托盘处理方法和装置 |
CN103106017A (zh) * | 2013-01-30 | 2013-05-15 | 北京奇虎科技有限公司 | 切换终端桌面背景的客户端、系统和方法 |
CN103472989A (zh) * | 2013-08-26 | 2013-12-25 | 广州市久邦数码科技有限公司 | 一种壁纸的切换方法及终端 |
CN103472989B (zh) * | 2013-08-26 | 2016-09-07 | 广州市久邦数码科技有限公司 | 一种壁纸的切换方法及终端 |
CN104506921B (zh) * | 2014-12-24 | 2017-12-15 | 天脉聚源(北京)科技有限公司 | 一种动态显示图片的方法及装置 |
CN104506921A (zh) * | 2014-12-24 | 2015-04-08 | 天脉聚源(北京)科技有限公司 | 一种动态显示图片的方法及装置 |
CN104599307A (zh) * | 2015-02-11 | 2015-05-06 | 成都品果科技有限公司 | 一种在移动终端上采用动画显示图片的方法 |
CN104599307B (zh) * | 2015-02-11 | 2018-05-15 | 成都品果科技有限公司 | 一种在移动终端上采用动画显示图片的方法 |
CN109259653A (zh) * | 2018-06-15 | 2019-01-25 | 汤瑞平 | 一种单刷玻璃幕墙清洗设备 |
CN109259653B (zh) * | 2018-06-15 | 2023-10-13 | 汤瑞平 | 一种单刷玻璃幕墙清洗设备 |
CN109151573A (zh) * | 2018-09-30 | 2019-01-04 | Oppo广东移动通信有限公司 | 视频增强控制方法、装置以及电子设备 |
US11531458B2 (en) | 2018-09-30 | 2022-12-20 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | Video enhancement control method, electronic apparatus and storage medium |
CN109908576A (zh) * | 2019-02-22 | 2019-06-21 | 网易(杭州)网络有限公司 | 一种信息模块的呈现方法及装置、电子设备、存储介质 |
CN109908576B (zh) * | 2019-02-22 | 2022-08-09 | 网易(杭州)网络有限公司 | 一种信息模块的呈现方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102053867B (zh) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102053867B (zh) | 一种动态切换图片的方法和装置 | |
EP1689155B1 (en) | Method and system to process video effects | |
US6934697B1 (en) | Creating customized internet access client user interface | |
CN104978156B (zh) | 多屏显示方法及多屏显示处理装置 | |
US7028266B2 (en) | Processing occluded windows during application sharing | |
US7251774B2 (en) | System for describing markup language for mobile use, and information processing apparatus and program for generating display content | |
US20060156256A1 (en) | Method and apparatus for controlling and applying resource of idle screen on mobile | |
CN111049868B (zh) | 数据交互系统和数据交互方法 | |
CN113368492B (zh) | 渲染的方法、装置 | |
KR101596505B1 (ko) | 멀티미디어 시스템의 사용자 인터페이스 장치 및 방법 | |
CN108173742B (zh) | 一种图像数据处理方法、装置 | |
CN102289339A (zh) | 一种显示表情信息的方法及装置 | |
JP2009518103A (ja) | ユーザがモバイル機器によって大画面ゲームをプレイできるようにするための方法およびシステム | |
CN111897619A (zh) | 浏览器页面的显示方法、装置、电子设备及存储介质 | |
CN106162353A (zh) | 界面处理方法、装置及系统 | |
CN112751681A (zh) | 图像处理方法、装置、设备以及计算机可读存储介质 | |
KR101097592B1 (ko) | 동영상 메시지 제작 서비스 제공 방법 | |
US11711408B2 (en) | Content appearance conversion for remote application sharing | |
JP2017062645A (ja) | 画像配信システム、画像配信方法及びプログラム | |
CN111782992B (zh) | 显示控制方法、装置、设备及可读存储介质 | |
JP2008040347A (ja) | 画像表示装置、画像表示方法および画像表示プログラム | |
CN111766958A (zh) | 一种输入法实现方法、装置、电子设备和存储介质 | |
CN111913711A (zh) | 视频渲染方法和装置 | |
CN111782606A (zh) | 显示设备、服务器和文件管理方法 | |
KR20160087226A (ko) | 클라우드 스트리밍 서비스 시스템, 단말 성능을 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |