【技术实现步骤摘要】
一种处理图像的方法及图像处理装置
本专利技术涉及图像绘制领域,特别涉及一种处理图像的方法及图像处理装置。
技术介绍
图像是常用的一种互联网应用,可以提供给用户直观的感受,用以增强用户的应用体验,因而在各领域中得到了广泛的应用。图像包括动画以及视频,以动画为例,图像互换格式(GIF,GraphicsInterchangeFormat)是一种常见的动画格式,预先设置好的动画文件需要在客户端进行解码、绘制等处理,然后输出至图像界面进行显示。现有技术中,处理GIF动画显示的方法一般是通过对获取的GIF文件中包含的GIF帧进行解码,获取各GIF帧中包含的像素点信息,并将解码得到的像素点信息在内存中进行缓存,然后根据缓存的像素点信息以及组成动画的每帧的配置属性,分别进行逐帧绘制并缓存在内存中,最后,在绘制好所有帧后,根据动画的显示设置,依序将内存中已绘制的帧绘制到图形界面进行展示(播放),从而实现动画显示处理。由上述可见,现有处理GIF动画显示的方法,由于需要将解码得到的像素点信息以及已绘制的用于组成动画的每一帧在内存中进行缓存,因而,会占用大量的内存空间,对内存容量的需求大,例如,如果GIF动画包含200帧,则内存中需要缓存200帧的像素点信息以及已绘制的200帧。这对于内存容量较小的客户端来说,缓存动画不仅占用了容量本就有限的内存空间,也使得由于内存被占用过多,动画绘制的速度下降,处理GIF动画所需的时间延长,处理效率低。
技术实现思路
有鉴于此,本专利技术的主要目的在于提出一种处理图像的方法,降低缓存图像所需的内存容量、提高处理效率。本专利技术的另一目的在于提出一种 ...
【技术保护点】
一种处理图像的方法,其特征在于,该方法包括:A、读取图像文件,设置映射图像文件中当前待绘制帧的索引;B、获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至内存中预先设置的第一图像缓存中;C、清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;D、触发将绘制后的帧绘制到图形界面进行显示,并将设置的索引更新。
【技术特征摘要】
1.一种处理图像的方法,其特征在于,该方法包括:预先在内存中设置用于缓存当前待绘制帧的上一帧以及当前待绘制帧的上一帧的上一帧的第二图像缓存以及第三图像缓存;A、读取图像文件,设置映射图像文件中当前待绘制帧的索引;B、获取索引映射的当前待绘制帧并进行解码,得到当前待绘制帧中各像素点信息,缓存至内存中预先设置的第一图像缓存中;C、清空当前待绘制帧的上一帧的上一帧所在的图像缓存,根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中;D、触发将绘制后的帧绘制到图形界面进行显示,并将设置的索引更新为映射当前待绘制帧的下一帧,返回执行步骤B。2.如权利要求1所述的方法,其特征在于,在所述清空当前待绘制帧的上一帧的上一帧所在的图像缓存之前,进一步包括:从第二图像缓存和第三图像缓存中,根据帧标识识别出存储有当前待绘制帧的上一帧的上一帧所存储的帧内容的图像缓存。3.如权利要求1所述的方法,其特征在于,所述清空当前待绘制帧的上一帧的上一帧所在的图像缓存包括:如果缓存的当前待绘制帧的上一帧使用的是第二图像缓存,则清空缓存有当前待绘制帧的上一帧的上一帧的第三图像缓存;如果缓存的当前待绘制帧的上一帧使用的是第三图像缓存,则清空缓存有当前待绘制帧的上一帧的上一帧的第二图像缓存。4.如权利要求3所述的方法,其特征在于,所述根据当前待绘制帧的配置属性以及第一图像缓存中的像素点信息,将当前待绘制帧进行绘制后缓存到清空的图像缓存中包括:如果缓存的当前待绘制帧的上一帧使用的是第二图像缓存,如果配置属性为恢复背景色属性,则根据第一图像缓存中缓存的各像素点的信息,进行绘制后缓存到第三图像缓存中;如果配置属性为无指定配置/不做配置属性,则将第二图像缓存中的帧与第一图像缓存中的帧进行叠加绘制后缓存到第三图像缓存中;如果缓存的当前待绘制帧的上一帧使用的是第三图像缓存,如果配置属性为恢复背景色属性,则根据第一图像缓存所缓存的各像素点的信息进行绘制,绘制后缓存到第二图像缓存中;如果配置属性为无指定配置/不做配置属性,则将第三图像缓存中的帧与第一图像缓存中的帧进行叠加绘制后缓存到第二图像缓存中。5.如权利要求4所述的方法,其特征在于,所述将第二图像缓存中的帧与第一图像缓存中的帧进行叠加绘制包括:获取第二图像缓存中的像素点信息,如果像素点信息为非透明,则进行叠加绘制后的像素点颜色为第二图像缓存中该像素点颜色;如果像素点信息为透明,则进行叠加绘制后的像素点颜色为第一图像缓存中相应位置的像素点颜色。6.如权利要求1所述的方法,其特征在于,所述触发将绘制后的帧绘制到图形界面进行显示包括:计算绘制当前待绘制帧的时延,如果计算得到的时延大于零,在延迟计算得到的时延后,触发将缓存在清空的所述第二图像缓存或第三图像缓存中的帧绘制到图形界面进行显示;如果计算得到的时延小于或等于零,实时触发将缓存在清空的所述第二图像缓存或第三图像缓存中的帧绘制到图形界面进行显示。7.如权利要求6所述的方法,其特征在于,所述计算绘制当前待绘制帧的时延包括:获取上一帧绘制完的时间点;获取显示绘制的当前待绘制帧设置的延迟时...
【专利技术属性】
技术研发人员:万鑫,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。