一种通过逐行解压方式显示图片的方法和系统的制作方法

文档序号:7780762阅读:167来源:国知局
一种通过逐行解压方式显示图片的方法和系统的制作方法
【专利摘要】本发明公开一种通过逐行解压方式显示图片的方法和系统,其中,方法包括步骤:读取需显示的图片原始尺寸信息;申请解压图片的一行所需的内存空间;读取图片一行的压缩数据,并解压到申请的内存空间中;根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,根据所述图片缩放比例判断是否显示该行;当需显示该行时,按照缩放比例对内存空间的解压数据进行宽度的缩放并显示。本发明通过逐行解压的方式申请内存,这样在申请解压空间的时候只需申请解压图片一行数据所需的内存空间,从而节省大量内存空间,同时根据提前计算好的缩放比例确定是否显示该行,所以利用本发明的方法在显示大尺寸图片时,大大释放了内存空间,避免了分配不到足够内存的问题。
【专利说明】一种通过逐行解压方式显示图片的方法和系统
【技术领域】
[0001]本发明涉及机顶盒图片显示领域,尤其涉及一种通过逐行解压方式显示图片的方法和系统。
【背景技术】
[0002]目前机顶盒显示一张图片,例如显示PCX格式图片时,通常做法是:读取图片尺寸信息,然后根据图片尺寸申请解压内存,再进行解压,根据图片原始尺寸和屏幕尺寸计算出缩放比例,根据缩放比例缩放到屏幕适合的大小进行显示,这种显示方式存在以下问题:机顶盒显示大尺寸PCX图片时经常受到机顶盒内存大小的限制,当需要显示的图片原始尺寸很大的时候,通常解压需要的内存很大,机顶盒无法分配到足够内存,于是导致图片显示失败,无法显示大尺寸的图片。
[0003]因此,现有技术还有待于改进和发展。

【发明内容】

[0004]鉴于上述现有技术的不足,本发明的目的在于提供一种通过逐行解压方式缩放显示图片的方法和系统,旨在解决现有的图片显示方式在显示大尺寸图片时内存不足的问题。
[0005]本发明的技术方案如下:
一种通过逐行解压方式显示图片的方法,其中,包括步骤:
A、读取需显示的图片原始尺寸信息;
B、申请解压图片的一行所需的内存空间;
C、读取图片一行的压缩数据,并解压到申请的内存空间中;
D、根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,根据所述图片缩放比例判断是否显示该行;
E、当需显示该行时,按照缩放比例对内存空间的解压数据进行宽度的缩放并显示。
[0006]所述的通过逐行解压方式显示图片的方法,其中,所述步骤E中,当不需要显示该行时,丢弃该行的解压数据。
[0007]所述的通过逐行解压方式显示图片的方法,其中,所述步骤B中,申请的内存空间:M=width*3, width为图片宽度。
[0008]所述的通过逐行解压方式显示图片的方法,其中,所述步骤E中,在进行缩放处理之后,返回步骤C读取图片下一行的压缩数据。
[0009]一种通过逐行解压方式显示图片的系统,其中,包括:
读取模块,用于读取需显示的图片原始尺寸信息;
内存空间申请模块,用于申请解压图片的一行所需的内存空间;
解压模块,用于读取图片一行的压缩数据,并解压到申请的内存空间中;
判断模块,用于根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,根据所述图片缩放比例判断是否显示该行;
缩放模块,用于当需显示该行时,按照缩放比例对内存空间的解压数据进行宽度的缩放并显示。
[0010]所述的通过逐行解压方式显示图片的系统,其中,所述缩放模块还包括:
丢弃单元,用于当不需要显示该行时,丢弃该行的解压数据。
[0011]所述的通过逐行解压方式显示图片的系统,其中,申请的内存空间:M=width*3,width为图片宽度。
[0012]所述的通过逐行解压方式显示图片的系统,其中,所述缩放模块还包括:
返回单元,用于在进行缩放处理之后,返回读取图片下一行的压缩数据。
[0013]有益效果:本发明通过逐行解压的方式申请内存,这样在申请解压空间的时候只需申请解压图片一行数据所需的内存空间,从而节省了大量内存空间,同时根据提前计算好的缩放比例确定是否显示该行,所以利用本发明的方法在显示大尺寸图片时,大大释放了内存空间,避免了分配不到足够内存的问题。
【专利附图】

【附图说明】
[0014]图1为本发明一种通过逐行解压方式显示图片的方法较佳实施例的流程图。
[0015]图2为本发明一种通过逐行解压方式显示图片的系统较佳实施例的结构框图。
【具体实施方式】
[0016]本发明提供一种通过逐行解压方式显示图片的方法和系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0017]请参阅图1,图1为本发明一种通过逐行解压方式显示图片的方法,如图所示,其包括步骤:
5101、读取需显不的图片原始尺寸/[目息;
5102、申请解压图片的一行所需的内存空间;
5103、读取图片一行的压缩数据,并解压到申请的内存空间中;
5104、根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,根据所述图片缩放比例判断是否显示该行;
5105、当需显示该行时,按照缩放比例对内存空间的解压数据进行宽度的缩放并显示。
[0018]首先在步骤S101中,读取需显示的图片原始尺寸信息,即长和宽等信息,本实施例中的图片指PCX格式图片,本实施例的改进之处也在于对图片显示方式的改进。
[0019]在步骤S102中,申请解压图片的一行所需的内存空间,在原有流程中,此步骤是申请解压图片全部行的数据的内存空间,在原有方案下,需申请的内存过大,可能导致分配到的内存不够,所以本实施例是采用申请解压图片的一行所需的内存空间,分别进行解压,这样就节省了大量的内存空间,一般是原来的1%以下。具体来说,申请的内存空间:M=width*3, width为图片宽度,Μ即为申请的内存空间,width代表图片宽度像素量。
[0020]在步骤S103中,读取图片一行的压缩数据,并解压到申请的内存空间中,此步骤即为解压步骤,即先解压一行的压缩数据,进行逐行解压,以便保证具有足够的内存。[0021]在步骤S104中,根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,此处是根据图片原始尺寸和最终的显示尺寸来计算出图片的缩放比例,例如图片原始尺寸为900*900像素,机顶盒最终显示尺寸为300*300像素,则计算出的图片原始尺寸为最终的显示尺寸的3倍,那么缩放比例为1/3。然后根据所述图片缩放比例判断是否显示该行,例如缩放比例为1/3,那么就是每隔三行取一行的间隔,即从图片像素数据中,每隔三行取一行像素数据,即对于解压的数据,每隔三行就有一行需要显示,需说明的是,一行像素都是整行的取出及显示。
[0022]在步骤S105中,对于需要显示的行,可以按照缩放比例对宽度进行缩放,例如缩放比例为1/3,那么对该行的宽度缩小3倍,使之符合最终的显示尺寸,这样图片就能清晰的在机顶盒上显示。而对于不需要显示的行,则可以丢弃该行的解压数据。
[0023]进一步,所述步骤S105中,在进行缩放处理之后,返回步骤S103读取图片下一行的压缩数据,这样在进行下一行的解压处理,并显示,反复逐行进行解压,最后显示出一张完整的图片。
[0024]基于上述方法,本发明还提供一种通过逐行解压方式显示图片的系统较佳实施例的结构框图,如图2所示,其包括:
读取模块100,用于读取需显示的图片原始尺寸信息;
内存空间申请模块200,用于申请解压图片的一行所需的内存空间;
解压模块300,用于读取图片一行的压缩数据,并解压到申请的内存空间中;
判断模块400,用于根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,根据所述图片缩放比例判断是否显示该行;
缩放模块500,用于当需显示该行时,按照缩放比例对内存空间的解压数据进行宽度的缩放并显示。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
[0025]进一步,所述缩放模块500还包括:
丢弃单元,用于当不需要显示该行时,丢弃该行的解压数据。
[0026]进一步,申请的内存空间:M=width*3, width为图片宽度。
[0027]进一步,所述缩放模块500还包括:
返回单元,用于在进行缩放处理之后,返回读取图片下一行的压缩数据。关于上述模块单元的技术细节在前面的方法中已有详述,故不再赘述。
[0028]综上所述,本发明通过逐行解压的方式申请内存,这样在申请解压空间的时候只需申请解压图片一行数据所需的内存空间,从而节省了大量内存空间,同时根据提前计算好的缩放比例确定是否显示该行,所以利用本发明的方法在显示大尺寸图片时,大大释放了内存空间,避免了分配不到足够内存的问题。
[0029]应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
【权利要求】
1.一种通过逐行解压方式显示图片的方法,其特征在于,包括步骤:A、读取需显示的图片原始尺寸信息;B、申请解压图片的一行所需的内存空间;C、读取图片一行的压缩数据,并解压到申请的内存空间中;D、根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,根据所述图片缩放比例判断是否显示该行;E、当需显示该行时,按照缩放比例对内存空间的解压数据进行宽度的缩放并显示。
2.根据权利要求1所述的通过逐行解压方式显示图片的方法,其特征在于,所述步骤E中,当不需要显示该行时,丢弃该行的解压数据。
3.根据权利要求1所述的通过逐行解压方式显示图片的方法,其特征在于,所述步骤B中,申请的内存空间:M=width*3,width为图片宽度。
4.根据权利要求1所述的通过逐行解压方式显示图片的方法,其特征在于,所述步骤E中,在进行缩放处理之后,返回步骤C读取图片下一行的压缩数据。
5.一种通过逐行解压方式显示图片的系统,其特征在于,包括:读取模块,用于读取需显示的图片原始尺寸信息;内存空间申请模块,用于申请解压图片的一行所需的内存空间;解压模块,用于读取图片一行的压缩数据,并解压到申请的内存空间中;判断模块,用于根据图片原始尺寸和最终的显示尺寸计算图片缩放比例,根据所述图片缩放比例判断是否显示该行;缩放模块,用于当需显示该行时,按照缩放比例对内存空间的解压数据进行宽度的缩放并显示。
6.根据权利要求5所述的通过逐行解压方式显示图片的系统,其特征在于,所述缩放模块还包括:丢弃单元,用于当不需要显示该行时,丢弃该行的解压数据。
7.根据权利要求5所述的通过逐行解压方式显示图片的系统,其特征在于,申请的内存空间:M=width*3,width为图片宽度。
8.根据权利要求5所述的通过逐行解压方式显示图片的系统,其特征在于,所述缩放模块还包括:返回单元,用于在进行缩放处理之后,返回读取图片下一行的压缩数据。
【文档编号】H04N21/431GK103686306SQ201310691172
【公开日】2014年3月26日 申请日期:2013年12月17日 优先权日:2013年12月17日
【发明者】于海波 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1