本发明专利技术公开了一种图片显示方法:当接收到打开图片的请求时,利用图片的特征信息生成一个与图片唯一对应的索引标识,并确定本地是否缓存有该索引标识;如果是,则读取本地缓存的该索引标识对应的中图信息,进行显示;如果否,则按照完整解码的方式对图片进行解码,如果超过预定时长仍未解码完毕,则按照部分解码的方式对图片进行解码,得到图片的中图信息,进行显示,并将图片的中图信息和索引标识缓存到本地。本发明专利技术同时公开了一种图片显示装置。应用本发明专利技术所述的方法和装置,能够加快图片的显示速度。
【技术实现步骤摘要】
本专利技术涉及图片处理技术,特别涉及一种图片显示方法和装置。
技术介绍
现有技术中,当用户请求打开某张图片时,系统会按照完整解码的方式,解码得到该图片的大图信息,即完整的图片信息,并将解码得到的大图信息显示给用户。由于解码时间与图片大小成正比,因此,当图片较大时,就会需要较长的解码时间,也就是说,从接收到用户请求开始,需要经过较长的时间才能将图片显示出来,显示速度很慢
技术实现思路
有鉴于此,本专利技术的主要目的在于提供一种图片显示方法,能够加快图片的显示速度。本专利技术的另一目的在于提供一种图片显示装置,能够加快图片的显示速度。为达到上述目的,本专利技术的技术方案是这样实现的一种图片显示方法,包括当接收到打开图片的请求时,利用所述图片的特征信息生成一个与所述图片唯一对应的索引标识,并确定本地是否缓存有所述索引标识;如果是,则读取本地缓存的所述索引标识对应的中图信息,并进行显示;如果否,则按照完整解码的方式对所述图片进行解码,并确定是否在预定时长内解码完毕,如果超过预定时长仍未解码完毕,则按照部分解码的方式对所述图片进行解码,得到所述图片的中图信息进行显示,并将所述图片的中图信息和索引标识缓存到本地。一种图片显示装置,包括第一处理单元,用于当接收到打开图片的请求时,利用所述图片的特征信息生成一个与所述图片唯一对应的索引标识,发送给第二处理单元;所述第二处理单元,用于确定本地是否缓存有所述索引标识,如果是,则读取本地缓存的所述索引标识对应的中图信息,并进行显示,如果否,则按照完整解码的方式对所述图片进行解码,并确定是否在预定时长内解码完毕,如果超过预定时长仍未解码完毕,则按照部分解码的方式对所述图片进行解码,得到所述图片的中图信息,进行显示,并将所述图片的中图信息和索引标识缓存到本地。可见,采用本专利技术所述方案,对于按照完整解码方式需要解码较长时间的图片,改用速度更快的部分解码方式对其进行解码,得到图片的中图信息,显示给用户,并将该中图信息缓存到本地,这样,当后续需要再次打开该图片时,可直接从本地缓存中读取其中图信息并显示给用户;与现有技术相比,本专利技术所述方案能够明显地加快图片的显示速度。附图说明图I为本专利技术图片显示方法实施例的流程图。图2为本专利技术图片显示装置实施例的组成结构示意图。具体实施例方式针对现有技术中存在的问题,本专利技术中提出一种图片显示方案,能够加快图片的显示速度。为使本专利技术的技术方案更加清楚、明白,以下参照附图并举实施例,对本专利技术所述方案作进一步地详细说明。图I为本专利技术图片显示方法实施例的流程图。如图I所示,包括以下步骤步骤11 12 :当接收到打开任一图片X(为表述方便,用图片X来代表任一图片)的请求时,利用图片X的特征信息生成一个与图片X唯一对应的索引标识,并确定本地是否 缓存有该索引标识,如果否,则执行步骤13,如果是,执行步骤14。所述特征信息可包括存储路径、长宽、大小,以及创建时间等,每个索引标识均是唯一的,可为一个包含上述信息的二进制字符串值。如何生成二进制字符串值不作限制,但要保证每次生成时均采用相同的生成方式。步骤13 :按照完整解码的方式对图片X进行解码,如果超过预定时长仍未解码完毕,则按照部分解码的方式对图片X进行解码,得到图片X的中图信息,进行显示,并将图片X的中图信息和索引标识缓存到本地。如果按照完整解码的方式对图片X进行解码,将会得到图片X的大图信息,如果按照部分解码的方式,将会得到中图信息。如前所述,大图信息中包括完整的图片信息,相比于大图信息,中图信息中包含的信息量不够完整,比如可能缺少图片X的细节信息等,因此,最终显示出来的图片质量会有一定的差别,但是,对于用户来说,其在浏览图片时,通常不会过多地关注图片的细节信息,因此中图信息对于用户来说就已经足够了。上述部分解码方式可以包括1/2解码方式、1/4解码方式、1/8解码方式等,相比于完整解码方式,部分解码方式的解码速度更快,而且,同样是部分解码方式,1/4解码方式的解码速度要快于1/2解码方式的解码速度,1/8解码方式的解码速度要快于1/4解码方式的解码速度,但通常解码速度越快,最终显示出来的图片质量越差,具体采用哪种部分解码方式可根据实际情况而定。本步骤中,首先按照完整解码的方式对图片X进行解码,如果超过预定时长仍未解码完毕,则确定图片X为大图,改用解码速度更快的部分解码方式进行解码,并将解码得到的中图信息显示给用户;所述预定时长的具体取值可根据实际情况而定,比如可为300ms。同时,将解码得到的中图信息以及步骤11中生成的索引标识缓存到本地,比如,缓存到系统内存中,或者缓存到自定义的文件系统中,这样,当后续需要再次打开图片X时,可直接从系统内存中或自定义的文件系统中读取其中图信息并显示给用户,从而省去了解码等处理过程,加快了图片X的显示速度。需要说明的是,如果按照完整解码的方式对图片X进行解码,未超过预定时长即解码完毕,那么可按照现有方式将解码得到的大图信息显示给用户。步骤14 :读取本地缓存的该索引标识对应的中图信息,并进行显示。如果步骤12中确定出本地缓存有图片X的索引标识,那么说明图片X的中图信息预先已经被缓存到了本地,因此,无需再进行解码等处理,直接将缓存的图片X的中图信息读取出来并显示给用户即可。 在实际应用中,无论是将中图信息及其对应的索引标识缓存到系统内存中,还是缓存到自定义的文件系统中,通常均会有一定的限制,即不会允许无限制地向系统内存或自定义的文件系统中存入中图信息及其对应的索引标识,所述限制可能是个数上的限制,也可能是总数据量上的限制。因此,当达到上限时,如果还要存入新的中图信息及其索引标识,则需要删除一些之前已经存入的中图信息及其对应的索引标识。本专利技术中,优先删除最后一次被读取的时间距离当前时间最远的中图信息及其对应的索引标识,为此,步骤13中,在将图片X的中图信息和索引标识缓存到本地的同时,还需要进一步将完成缓存的时间设置为图片X的中图信息的最后读取时间,并且,后续当每次读取图片X的中图信息时,均将其最后读取时间修改为当前时间,即修改为读取时的时间。相应地,在将图片X的中图信息和索引标识缓存到本地之前,需要首先确定本地缓存的中图信息总数量是否等于预定第一阈值,比如10个,如果是,则将最后读取时间距离当前时间最远的中图信息及其对应的索引标识删除,然后将图片X的中图信息和索引标识缓存到本地,否则,直接将图片X的中图信息和索引标识缓存到本地。或者,在将图片X的中图信息和索引标识缓存到本地之前,首先确定本地缓存的总数据量是否小于预定第二阈值,且第二阈值与本地缓存的总数据量之差大于或等于图片X的中图信息和索引标识的总数据量,如果是,则直接将图片X的中图信息和索引标识缓存到本地,否则,按照最后读取时间距离当前时间由远到近的顺序,删除连续N个中图信息及其对应的索引标识,然后将图片X的中图信息和索引标识缓存到本地。N为正整数,其取值需要满足以下条件如果删除连续N个中图信息及其对应的索引标识,则第二阈值与本地缓存的总数据量之差大于或等于图片X的中图信息和索引标识的总数据量,如果删除连续N-I个中图信息及其对应的索引标识,则第二阈值与缓存的总数据量之差小于图片X的中图信息和索引标识的总数据量;也就是说,只要本文档来自技高网...
【技术保护点】
一种图片显示方法,其特征在于,包括:当接收到打开图片的请求时,利用所述图片的特征信息生成一个与所述图片唯一对应的索引标识,并确定本地是否缓存有所述索引标识;如果是,则读取本地缓存的所述索引标识对应的中图信息,并进行显示;如果否,则按照完整解码的方式对所述图片进行解码,并确定是否在预定时长内解码完毕,如果超过预定时长仍未解码完毕,则按照部分解码的方式对所述图片进行解码,得到所述图片的中图信息进行显示,并将所述图片的中图信息和索引标识缓存到本地。
【技术特征摘要】
【专利技术属性】
技术研发人员:吴运声,杨宝龙,傅斌,王佳,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。