本发明专利技术公开了一种动态皮肤的实现方法,包括以下步骤:将动态图像作为动态皮肤元素封装至皮肤文件中;在皮肤建立过程中读取动态图像数据流;通过所述动态图像数据流提取图像;播放所述图像,实现皮肤的动态表现。本发明专利技术可以丰富皮肤的表现形式、增加皮肤制作中的自由度,并且其动态图像的实现比较简单,并且空间占用小。(*该技术在2024年保护过期,可自由使用*)
【技术实现步骤摘要】
本专利技术涉及计算机动态图像数据处理技术,特别是涉及。
技术介绍
随着信息技术的发展,各种具有数据处理能力的电子设备,如电脑、笔记本电脑、移动终端等日益普及,给人们的学习、工作和生活带来较大的便利。众所周知,电子设备的运行需要硬件和软件的配合,特别是软件产品的重要性正越来越受到人们的重视。通常,软件在运行时都会形成用户交互界面,便于接收用户的操作指令并且及时反馈操作结果。随着计算机图像处理技术的日益完善,目前已经出现多种皮肤(skin)设计技术来改善软件产品的用户使用体验。通常,动态皮肤的实现可以提高用户对产品的认同感,现有技术中,实现皮肤界面元素的变化有多种方法。一种现有技术的方法是通过定时器来实现图像序列(jpg序列或者bmp序列)的连续播放。由于bmp序列是一组连续的bmp图像,通过在这些图像之间的切换实现的动画效果如同电影胶片,但是bmp序列占用空间较大,并且需采用多个文件,所以制作不方便。另一种现有技术则通过对静态图像的技术处理来实现静态图像表现形式的变化,从而达到界面元素的动态表现,比如通过调整亮度实现图像的闪动效果、和调整图像象素排列方式实现图像的旋转等等。上述现有技术存在一些不足之处首先,其实现的是一种有限的图像变化;其次,对通过数字技术处理静态图像得到的动画来说,在某种程度上还对图像的格式和品质有着特殊的要求,这是由于需要对图像进行处理,所以这些图像的清晰度要好,并且图像的背景和前景要区别明显,便于将处理目标区分开。从而,上述现有技术无法得到用户的广泛应用,不适于应用在参与程度很高的皮肤的制作上。
技术实现思路
本专利技术解决的技术问题在于提供,可以丰富皮肤的表现形式、增加皮肤制作中的自由度,改善用户体验。为此,本专利技术解决技术问题的技术方案是提供,包括以下步骤1)将动态图像作为动态皮肤元素封装至皮肤文件中;2)在皮肤建立过程中读取动态图像数据流;3)通过所述动态图像数据流提取图像;4)播放所述图像,实现皮肤的动态表现。优选地,所述步骤1)中的封装具体是将动态图像封装成COM对象。优选地,所述步骤4)中采用GDI+实现图像的播放。优选地,所述步骤3)中的提取具体包括31)取得图像每帧的大小和帧的数目;32)取得图像第一帧的指针;33)判断是否达到帧之间的时间间隔;如果是,则进入步骤4);如果否,则继续等待;所述步骤4)中还包括判断图像是否播放完毕;如果是,则退出流程;如果否,则转入步骤41);41)取得下一帧的图像指针,随后转入步骤33)。优选地,还包括当图像播放结束之后产生回调操作,用于进行播放结束后的响应。优选地,所述回调操作是皮肤文件产生的COM事件。优选地,在所述步骤2)的读动态皮肤元素之前还包括记录和保存当前操作;在所述步骤4)中,当播放结束后执行所述保存的操作。优选地,在所述步骤4)中,启动定时器以定时检查判断图像的播放是否超时和检查图像是否播放完毕;当图像播放完毕后或者播放超时,产生播放完毕通知中止播放。优选地,在所述步骤4)中,还包括4a)判断是否接收到皮肤图像播放成功消息;如果是,则进入步骤4b);如果否,则进入步骤4d);4b)通知对应图像启动成功;同时启动定时器;4c)判断图像是否播放完毕,或者播放超时;如果图像播放完毕或者超时,则转入步骤4d);如果未播放完毕且未超时,则继续等待;4d)结束图像播放,执行前述保存的操作。优选地,所述动态图像是GIF图像文件。相对于现有技术,本专利技术的有益效果是首先,由于本专利技术通过在皮肤上集成动态图像元素来改变皮肤的表现形式,可以克服现有的客户端界面比较单调的情况,从而给用户提供一个可以变化的皮肤,改善用户体验。其次,对于本专利技术的素材采用动态图像,即将动态图像作为皮肤元素,由于网络资源的存在,可以较大地丰富皮肤的表现形式,有着很大的应用前景。并且,由于动态皮肤元素可以在脚本中加以控制,所以用户在皮肤制作中的自由度将会有所增加,皮肤的表现形式可以更加的丰富。此外,在本专利技术的优选实施例中,增加了一个COM事件,每次在图像播放结束的时候都会产生这个事件,用来处理一些图像播放结束后的操作,使得图像的播放更加的灵活;对于用户来说,这样的功能可以加强用户对播放过程的控制。另外,由于本专利技术的优选实施例在皮肤中引入动态图片格式如GIF等来实现皮肤的动态效果,而GIF文件是一个文件,加上现在有很多软件可以制作GIF,所以本专利技术的实现比较简单,并且空间占用小。附图说明图1是本专利技术动态皮肤的实现方法的流程图;图2是本专利技术读取GIF文件的实施例的流程图;图3是本专利技术实施例中启动和结束图像播放的流程图。具体实施例方式本专利技术主要的构思在于通过实现在皮肤上集成动态图像元素来改变皮肤的表现形式,给用户提供一个可以变化的皮肤。请参阅图1,是本专利技术动态皮肤的实现方法的流程图。步骤S1,将动态图像作为动态皮肤元素封装至皮肤文件中。当前的皮肤模型是采用按钮(button)、图片(picture)等皮肤元素的拼接形成的一个完整界面。这些皮肤元素在工程中以COM(Component ObjectModel)的形式存在,所以如果将动态图像封装成一个COM对象并引入到皮肤模型元素中,就可以实现动态图像在皮肤上的表现。所述动态图像格式可以是GIF等,所述COM封装就是封装一个GIF文件,由于GIF文件是一个文件,并且现在有很多软件可以制作GIF,所以相对于现有技术中占用空间较大并且需采用多个文件的bmp序列来说,其实现比较简单,并且空间占用小。步骤S2,当在皮肤建立过程中读到动态皮肤元素时,根据步骤1)中所述皮肤文件读取动态图像数据流。如前所述,GIF文件作为皮肤元素封装在皮肤文件中。当建立皮肤时,由建立皮肤的程序(逻辑)读取各种元素,当读取到其中包含动态皮肤元素时,则需要根据该皮肤文件中指定的路径读取动态图像数据流。步骤S3,通过所述动态图像数据流提取图像;步骤S4,播放所述图像,实现皮肤的动态表现。本专利技术的实施例中,采用GDI+技术进行图像的播放。GDI+作为Windows XP的一个子系统,凭借其给用户带来的全新的用户体验,已经被得到广泛的运用。尤其是其中的多图片支持,为程序开发人员提供了一个比较方便安全的图像技术开发手段。由于该技术对应用平台没有多大的限制,只要系统中存在GDIplus.Dll就可以运行GDI+程序。但是,尽管在GDI+中提供了对GIF等具有动态效果的图像的支持,在程序中仍然需要对引入的图像文件进行解读。也就是说,虽然GDI+能支持图像格式,使得不需要去分析图像的压缩和图像的存储结构,但是里面的具体数据还是需要一一抽取。请参阅图2,是本专利技术读取GIF文件的实施例的流程图。步骤S11,读取动态图像数据流。GIF图像是基于颜色列表的(即存储的数据是该点的颜色对应于颜色列表的索引值),最多只支持8位(256色)。在GIF文件内部分成许多存储块,用来存储多幅图像或者是决定图像表现行为的控制块,用以实现动画和交互式应用。通常,一个GIF文件的结构可分为文件头(File Header)、GIF数据流(GIFData Stream)和文件终结器(Trailer)三个部分。文件头包含GIF文件署名(Signature)和版本号(Version);GIF数据流由控制标识本文档来自技高网...
【技术保护点】
一种动态皮肤的实现方法,其特征在于,包括以下步骤:1)将动态图像作为动态皮肤元素封装至皮肤文件中;2)在皮肤建立过程中读取动态图像数据流;3)通过所述动态图像数据流提取图像;4)播放所述图像,实现皮肤的动态表现。
【技术特征摘要】
1.一种动态皮肤的实现方法,其特征在于,包括以下步骤1)将动态图像作为动态皮肤元素封装至皮肤文件中;2)在皮肤建立过程中读取动态图像数据流;3)通过所述动态图像数据流提取图像;4)播放所述图像,实现皮肤的动态表现。2.根据权利要求1所述的动态皮肤的实现方法,其特征在于所述步骤1)中的封装具体是将动态图像封装成COM对象。3.根据权利要求1所述的动态皮肤的实现方法,其特征在于所述步骤4)中采用GDI+实现图像的播放。4.根据权利要求1所述的动态皮肤的实现方法,其特征在于,所述步骤3)中的提取具体包括31)取得图像每帧的大小和帧的数目;32)取得图像第一帧的指针;33)判断是否达到帧之间的时间间隔;如果是,则进入步骤4);如果否,则继续等待;所述步骤4)中还包括判断图像是否播放完毕;如果是,则退出流程;如果否,则转入步骤41);41)取得下一帧的图像指针,随后转入步骤33)。5.根据权利要求1所述的动态皮肤的实现方法,其特征在于,还包括当图像播放结束之后产生回调操作,用于进行播放结束后的响应。6.根据权利要...
【专利技术属性】
技术研发人员:陆楠,范质彬,陈东明,杜修杏,陈光尧,刘程伟,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:94[中国|深圳]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。