Gif文件渲染方法及装置制造方法

文档序号:6491056阅读:141来源:国知局
Gif文件渲染方法及装置制造方法
【专利摘要】本发明公开了一种GIF文件渲染方法,包括:采用流式读取的方法读取GIF文件;解码所读取的GIF文件并获取解码后的帧图片;渲染所获取的帧图片;判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤。本发明还公开了一种GIF文件渲染装置。与现有技术相比,本发明所提供的GIF文件渲染方法及装置采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
【专利说明】GIF文件渲染方法及装置
【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种GIF文件渲染方法及装置。
【背景技术】
[0002]随着人们对移动终端设备应用要求的提高,在IT制造业飞速发展的今天,移动终端设备的能力已经越来越强大,智能手机因其强大的功能而成为了目前最主流的移动终端设备。相对于普通手机,智能手机具有独立的操作系统,可以由用户自行安装应用软件、游戏、电邮等第三方服务商提供的应用程序,并通过此类程序对手机的功能不断进行扩充。
[0003]智能手机操作系统的应用已经涉足到很多领域,包括浏览器、各种商业软件等,给用户带来很大的方便。例如,用户可以通过智能手机在线下载或播放GIF动画。现有的播放GIF动画的方法大部分都需要先将整个GIF文件读取到内存中,然后再对其进行解析二进制码的操作,通过解码算法得到帧图片,最后播放帧图片。但是上述方法必须读取整个GIF,占用较多的资源,加上智能手机操作系统或者硬件本身的不足,使得在智能手机上进行GIF动画播放变得非常困难。

【发明内容】

[0004]本发明的目的在于,提供一种有效的GIF文件渲染方法及装置。
[0005]本发明的目的及解决其技术问题是采用以下技术方案来实现的。
[0006]一种GIF文件渲染方法,包括:采用流式读取的方法读取GIF文件;解码所读取的GIF文件并获取解码后的帧图片;渲染所获取的帧图片;判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤。
[0007]—种GIF文件渲染装置,包括:第一读取模块,用于采用流式读取的方法读取GIF文件;解码模块,用于解码所读取的GIF文件并获取解码后的帧图片;渲染模块,用于渲染所获取的帧图片;第一判断模块,用于判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,所述解码模块继续解码所读取的GIF文件并获取解码后的帧图片。
[0008]与现有技术相比,本发明所提供的GIF文件渲染方法及装置采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
【专利附图】

【附图说明】
[0009]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0010]图1是本发明实施例1提供的一种GIF文件渲染方法的流程图。[0011]图2是本发明实施例2提供的一种GIF文件渲染方法的流程图。
[0012]图3是本发明实施例3提供的一种GIF文件渲染方法的流程图。
[0013]图4是本发明实施例4提供的一种GIF文件渲染方法的流程图。
[0014]图5是本发明实施例5提供的一种GIF文件渲染装置的结构图。
[0015]图6是本发明实施例6提供的一种GIF文件渲染装置的结构图。
[0016]图7是本发明实施例7提供的一种GIF文件渲染装置的结构图。
[0017]图8是本发明实施例8提供的一种GIF文件渲染装置的结构图。
【具体实施方式】
[0018]为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的GIF文件渲染方法及装置其【具体实施方式】、方法、步骤、结构、特征及其功效,详细说明如下。
[0019]有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例的详细说明中将可清楚呈现。通过【具体实施方式】的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。
[0020]实施例1
[0021]参考图1,图1是本发明实施例1提供的一种GIF文件渲染方法的流程图。于本实施例中,GIF文件渲染方法包括:
[0022]步骤Sll:采用流式读取的方法读取GIF文件。
[0023]步骤S12:解码所读取的GIF文件并获取解码后的帧图片。
[0024]步骤S13:渲染所获取的帧图片。
[0025]步骤S14:判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤。
[0026]与现有技术相比,本实施例所提供的GIF文件渲染方法采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0027]实施例2
[0028]参考图2,图2是本发明实施例2提供的一种GIF文件渲染方法的流程图。于本实施例中,GIF文件渲染方法包括:
[0029]步骤S21:采用流式读取的方法读取GIF文件。
[0030]步骤S22:解码所读取的GIF文件并获取解码后的帧图片。
[0031]步骤S23:渲染所获取的帧图片。
[0032]步骤S24:判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤。
[0033]与实施例1不同的是,于本实施例中,步骤S21包括:
[0034]步骤S211:获取所述GIF文件的文件路径。
[0035]步骤S212:移动文件指针。
[0036]步骤S213:判断所述文件指针是否已经到达目标位置,如果是,则读取所述GIF文件;否则,返回并执行所述移动文件指针的步骤。
[0037]与现有技术相比,本实施例所提供的GIF文件渲染方法采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0038]实施例3
[0039]参考图3,图3是本发明实施例3提供的一种GIF文件渲染方法的流程图。于本实施例中,GIF文件渲染方法包括:
[0040]步骤S31:采用流式读取的方法读取GIF文件。
[0041]步骤S32:解码所读取的GIF文件并获取解码后的帧图片。
[0042]步骤S33:渲染所获取的帧图片。
[0043]步骤S34:判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤。
[0044]与实施例1不同的是,于本实施例中,步骤S32包括:
[0045]步骤S321:设置特定标志位及所述特定标志位后I位的二进制内容,所述特定标志位后I位的二进制内容用于指示文件指针需移动的长度。特定标志位例如为0x2c。
[0046]步骤S322:读取所读取的GIF文件的二进制内容,直到读取到特定标志位。
[0047]步骤S323:读取所述特定标志位后I位的二进制内容。
[0048]步骤S324:判断所述特定标志位后I位的二进制内容是否为0,如果是,则停止解码。
[0049]与现有技术相比,本实施例所提供的GIF文件渲染方法采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0050]实施例4
[0051]参考图4,图4是本发明实施例4提供的一种GIF文件渲染方法的流程图。于本实施例中,GIF文件渲染方法包括:
[0052]步骤S41:采用流式读取的方法读取GIF文件。
[0053]步骤S42:解码所读取的GIF文件并获取解码后的帧图片。
[0054]步骤S43:渲染所获取的帧图片。
[0055]步骤S44:判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤。
[0056]与实施例1不同的是,于本实施例中,在步骤S44中,如果判断结果为否,则在返回并执行所述步骤S42前,进一步包括步骤S45:开启定时器。
[0057]定时器用于设定获取所获取的帧图片中最后一帧帧图片与获取下一帧待获取的帧图片之间的时间间隔。由于获取帧图片后紧接着就是渲染所获取的帧图片的步骤,所以,当获取所获取的帧图片中最后一帧帧图片与获取下一帧待获取的帧图片之间的时间间隔设定好后,每相邻两帧图片渲染的时间间隔也就设定好了,这样就可以根据实际需要对帧图片进行渲染,控制其显示的时间。
[0058]与现有技术相比,本实施例所提供的GIF文件渲染方法采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0059]实施例5
[0060]参考图5,图5是本发明实施例5提供的一种GIF文件渲染装置的结构图。于本实施例中,GIF文件渲染装置50包括:第一读取模块51、解码模块52、渲染模块53、第一判断模块54。
[0061 ] 其中,第一读取模块51用于采用流式读取的方法读取GIF文件。解码模块52用于解码所读取的GIF文件并获取解码后的帧图片。渲染模块53用于渲染所获取的帧图片。第一判断模块54用于判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,所述解码模块52继续解码所读取的GIF文件并获取解码后的帧图片。
[0062]与现有技术相比,本实施例所提供的GIF文件渲染装置采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0063]实施例6
[0064]参考图6,图6是本发明实施例6提供的一种GIF文件渲染装置的结构图。于本实施例中,GIF文件渲染装置60包括:第一读取模块61、解码模块62、渲染模块63、第一判断模块64。
[0065]与实施例5不同的是,于本实施例中,第一读取模块61包括:路径获取模块611,用于获取所述GIF文件的文件路径;指针移动模块612,用于移动文件指针;第二判断模块613,用于判断所述文件指针是否已经到达目标位置,如果是,则读取所述GIF文件;否则,所述指针移动模块612继续移动所述文件指针。
[0066]与现有技术相比,本实施例所提供的GIF文件渲染装置采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0067]实施例7
[0068]参考图7,图7是本发明实施例7提供的一种GIF文件渲染装置的结构图。于本实施例中,GIF文件渲染装置70包括:第一读取模块71、解码模块72、渲染模块73、第一判断模块74。
[0069]与实施例5不同的是,于本实施例中,解码模块72包括:设置模块721,用于设置特定标志位及所述特定标志位后I位的二进制内容,所述特定标志位后I位的二进制内容用于指示文件指针需移动的长度;第二读取模块722,用于读取所读取的GIF文件的二进制内容,直到读取到特定标志位;第三读取模块723,用于读取所述特定标志位后I位的二进制内容;第三判断模块724,用于判断所述特定标志位后I位的二进制内容是否为0,如果是,则停止解码。
[0070]与现有技术相比,本实施例所提供的GIF文件渲染装置采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0071]实施例8
[0072]参考图8,图8是本发明实施例8提供的一种GIF文件渲染装置的结构图。于本实施例中,GIF文件渲染装置80包括:第一读取模块81、解码模块82、渲染模块83、第一判断模块84。与实施例5不同的是,于本实施例中,装置80进一步包括计时模块85。计时模块85用于设定获取所获取的帧图片中最后一帧帧图片与获取下一帧待获取的帧图片之间的时间间隔。
[0073]与现有技术相比,本实施例所提供的GIF文件渲染装置采用流式读取方法读取GIF文件,并按需进行渲染,降低了对资源的占用,提高了播放GIF动画的效率,解决了现有技术中读取GIF文件时所产生的资源占用过多的问题。
[0074]需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0075]需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0076]本领域 普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0077]以上该仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种GIF文件渲染方法,其特征在于,包括: 采用流式读取的方法读取GIF文件; 解码所读取的GIF文件并获取解码后的帧图片; 渲染所获取的帧图片; 判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤。
2.根据权利要求1所述的方法,其特征在于,所述采用流式读取的方法读取GIF文件的步骤,包括: 获取所述GIF文件的文件路径; 移动文件指针; 判断所述文件指针是否已经到达目标位置,如果是,则读取所述GIF文件;否则,返回并执行所述移动文件指针的步骤。
3.根据权利要求1所述的方法,其特征在于,所述解码所读取的GIF文件并获取解码后的帧图片的步骤,包括: 设置特定标志位及所述特定标志位后I位的二进制内容,所述特定标志位后I位的二进制内容用于指示文件指针需移动的长度; 读取所读取的GIF文件的二进制内容,直到读取到特定标志位; 读取所述特定标志位后I位的二进制内容; 判断所述特定标志位后I位的二进制内容是否为O,如果是,则停止解码。
4.根据权利要求1所述的方法,其特征在于,所述判断所获取的帧图片的数量是否达到预定数量的步骤中,如果判断结果为否,则在返回并执行所述解码所读取的GIF文件并获取解码后的帧图片的步骤前,进一步包括开启定时器的步骤,所述定时器用于设定获取所获取的帧图片中最后一帧帧图片与获取下一帧待获取的帧图片之间的时间间隔。
5.一种GIF文件渲染装置,其特征在于,包括: 第一读取模块,用于采用流式读取的方法读取GIF文件; 解码模块,用于解码所读取的GIF文件并获取解码后的帧图片; 渲染模块,用于渲染所获取的帧图片; 第一判断模块,用于判断所获取的帧图片的数量是否达到预定数量,如果是,则结束渲染;否则,所述解码模块继续解码所读取的GIF文件并获取解码后的帧图片。
6.根据权利要求1所述的装置,其特征在于,所述第一读取模块,包括: 路径获取模块,用于获取所述GIF文件的文件路径; 指针移动模块,用于移动文件指针; 第二判断模块,用于判断所述文件指针是否已经到达目标位置,如果是,则读取所述GIF文件;否则,所述指针移动模块继续移动所述文件指针。
7.根据权利要求1所述的装置,其特征在于,所述解码模块,包括: 设置模块,用于设置特定标志位及所述特定标志位后I位的二进制内容,所述特定标志位后I位的二进制内容用于指示文件指针需移动的长度; 第二读取模块,用于读取所读取的GIF文件的二进制内容,直到读取到特定标志位; 第三读取模块,用于读取所述特定标志位后I位的二进制内容;第三判断模块,用于判断所述特定标志位后I位的二进制内容是否为O,如果是,则停止解码。
8.根据权利要求1所述的装置,其特征在于,进一步包括计时模块,所述计时模块用于设定获取所获取的 帧图片中最后一帧帧图片与获取下一帧待获取的帧图片之间的时间间隔。
【文档编号】G06T13/00GK103810738SQ201210457508
【公开日】2014年5月21日 申请日期:2012年11月14日 优先权日:2012年11月14日
【发明者】谭志远, 谭正谊 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1