CN1909672A - 一种用于显示图片的存储方法及系统 - Google Patents
一种用于显示图片的存储方法及系统 Download PDFInfo
- Publication number
- CN1909672A CN1909672A CN 200610112461 CN200610112461A CN1909672A CN 1909672 A CN1909672 A CN 1909672A CN 200610112461 CN200610112461 CN 200610112461 CN 200610112461 A CN200610112461 A CN 200610112461A CN 1909672 A CN1909672 A CN 1909672A
- Authority
- CN
- China
- Prior art keywords
- picture
- pixel
- memory
- statistic
- vectorial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种用于显示图片的存储方法及系统,该方法包括以下步骤:a.顺序统计内存中图片每一行中连续的相同颜色象素的个数,将统计数值与象素颜色数值组合成一个向量象素并存入内存;b.从内存中释放图片的原象素存储空间。一种用于显示图片的存储系统包括:图片处理单元用于顺序统计图片存储单元中图片每一行中连续的相同颜色象素的个数,将统计数值与象素颜色数值组合成一个向量象素;图片存储单元,用于保存图片处理单元产生的向量象素,释放图片的原象素存储空间。利用本发明节省了每个图片的存储空间,可以在手机内存有限的情况下存储较多图片,同时使得同时加载较多图片时手机内存不足的概率变小。
Description
技术领域
本发明涉及无线通信技术领域,特别涉及手机中一种用于显示图片的存储方法及系统。
背景技术
随着我国电信产业蓬勃发展,用户对手机的娱乐要求也越来越高,在手机的增值业务中,游戏也占用越来越重要的地位,然而,手机相对于计算机来说,由于其容量小,速度慢等客观条件的限制,对游戏的应用也受到种种限制。
由于游戏中通常会包含大量的图片,例如背景地图、玩家造型、怪物等等,为了节省存储资源,将游戏安装在手机上时,往往会将图片进行压缩存储,但图片的压缩存储格式是不能用来直接进行绘制的,因此在游戏中需要对某个图片进行绘制时,首先获取该图片的压缩格式文件,加载到内存中进行解压缩,得到该图片的原始的象素矩阵,根据该象素矩阵对该图片进行绘制。
一般情况下,图片是由一个象素矩阵构成,使用二维数组记录每个象素信息,例如一个大小为5*5象素的图片,可以用以下数组元素存储每个象素点,a[0][0]表示第一行第一列的象素点,a[0][1]表示第一行第二列的象素点,依次类推。每个象素点占有两个字节的内存空间用于存储该象素的颜色信息,一副图片所占用的空间大小等于图片的宽度乘以图片的高度再乘以每个象素占用的字节大小,例如,一个大小为5*5象素的图片,其占用的空间大小就为5*5*2个字节。因此,在手机内存较小的情况下存储的图片很有限,而且当一个游戏有大量图片的时候,都加载到内存中就会占用较多的内存资源,可能导致内存不足。
发明内容
为了解决上述问题,本发明的目的是提供一种用于显示图片的存储方法,该方法能在手机内存有限的情况下存储较多图片,相应的本发明还提供了一种用于显示图片的存储系统。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的。
一种用于显示图片的存储方法,该方法包括以下步骤:
a、顺序统计内存中图片每一行中连续的相同颜色象素的个数,将统计数值与象素颜色数值组合成向量象素存入内存;
b、从内存中释放图片的原象素存储空间。
优选的,步骤a之前还包括:
从外存获取压缩图片到内存,根据图片的压缩格式选择相应的解压方法将图片解压成象素矩阵。
其中,步骤a为:
a11、顺序判断图片同一行中当前象素颜色数值a[i][j]与下一个象素颜色数值a[i][j+1]是否相同,如果是,执行a12;如果否,执行a13;
a12、统计相同个数,判断a[i][j+1]是否是当前行最后一个象素点,如果是,将统计数值与象素颜色数值a[i][j]组合成向量象素存入内存,执行a14,如果否,j增1,执行a11;
a13、将统计数值与象素颜色数值a[i][j]组合成向量象素存入内存,判断a[i][j+1]是否是本行最后一个元素,如果是,将数值1与a[i][j+1]组合成向量象素存入内存,执行a14,如果否,j增1,执行a11;
a14、判断当前行是否是图片最后一行,如果是,执行步骤b,如果否,i增1,j为0,返回执行a11。
其中,步骤a中将统计数值与象素颜色数值组合成向量象素为:
将统计数值用一个字节存储,象素颜色数值用两个字节存储,将此三个字节组合成向量象素。
其中,所述从内存中释放图片的原象素存储空间具体为将存储原象素颜色数值的二维数组a[i][j]的存储空间释放。
优选的,该方法进一步包括:
d、根据要绘制的图片标识找到该图片;
e、获取图片每一行的向量象素,根据向量象素数值中存储的颜色数值和统计数值,连续绘制与统计数值相等个数的同颜色象素点。
一种用于显示图片的存储系统,该系统包括:图片处理单元和图片存储单元,其中,
图片处理单元,用于统计图片存储单元中图片每一行中连续的颜色相同象素的个数,将统计数值与象素颜色数值组合成向量象素;
图片存储单元,用于保存图片处理单元产生的向量象素,释放图片的原象素存储空间。
优选的,图片存储单元进一步用于从外存获取图片。
优选的,当外存中存储的图片是压缩格式图片时,该系统还包括:
图片解压缩单元,用于从外存获取图片,根据图片的压缩格式选择相应的解压方法将图片解压成原象素矩阵保存到图片存储单元中。
优选的,该系统还进一步包括:
图片绘制单元,用于根据要绘制的图片标识在图片存储单元中找到该图片,获取图片每一行的向量象素,根据该向量象素中存储的颜色数值和统计数值,绘制与统计数值相等个数的同颜色象素点。
以上技术方案可以看出,本发明提供了一种用于显示图片的存储方法及系统,本发明顺序统计图片的每一行中连续的同颜色象素个数,将其与颜色数值组合成一个向量象素存入内存,从内存中释放图片的原象素存储空间,由于向量象素个数要比原象素个数少,利用向量象素表示图片所占用的存储空间要比象素矩阵占用的存储空间小,所以节省了图片的存储空间,可以在手机内存有限的情况下存储较多图片,而且,当一个游戏有大量图片的时候,使用本发明可以使同时加载较多图片时手机内存不足的概率变小。
附图说明
图1为本发明所提供的方法流程图;
图2为本发明实施例的具体流程图;
图3为本发明所提供的系统图。
具体实施方式
本发明提供了一种用于显示图片的存储方法及系统,本发明的核心在于:获取图片并将图片加载到内存中,顺序统计图片的每一行中连续的同颜色象素的个数,将统计数值与颜色数值组合成新的向量象素存入内存,释放图片原象素矩阵的存储空间,实现了节省图片在内存占用存储空间的目的。
下面参照图1,本发明所提供的方法包括以下步骤:
步骤101、顺序统计内存中图片的每一行中连续的相同颜色象素的个数,将统计数值与象素颜色数值组合成向量象素存入内存;
步骤102、从内存中释放图片的原象素存储空间。
下面参照附图并举实施例,对本发明进行详细说明。
本发明提供了一种用于显示图片的存储方法,参照图2,实现本发明方法需要以下步骤:
步骤201、从外存中获取图片加载到内存,图片是由象素矩阵表示的,用二维数组元素a[i][j]存储每个象素信息,每个象素点颜色数值占用两个字节的存储空间,所述外存用于手机平台存储游戏图片,设置i初值为0,j初值为0,设置计数器n,赋初值为1;
步骤202、判断每一行中当前象素颜色数值a[i][j]与下一个象素颜色数值a[i][j+1]是否相同,如果是,执行步骤203,如果否,执行步骤207;
步骤203、统计相同个数,将n增1;
步骤204、判断a[i][j+1]是否是该行最后一个象素点,如果是,执行步骤205,如果否,执行步骤206;
步骤205、用一个字节存储统计数值n,与原象素的颜色数值a[i][j]组合成一个3字节数值表示新的向量象素并保存,执行步骤211;
步骤206、j增1,返回执行步骤202;
步骤207、用一个字节存储统计数值n,与原象素的颜色数值a[i][j]组合成一个3字节数值表示新的向量象素并保存;
步骤208、判断a[i][j+1]是否是该行最后一个象素点,如果是,执行步骤210,如果否,执行步骤209;
步骤209、j增1,n为1,执行步骤202;
步骤210、用一个字节存储数值1,与象素的颜色数值a[i][j+1]组合成一个3字节数值表示新的向量象素并保存;
步骤211、判断当前行是否是该图片最后一行,如果否,执行步骤212,如果是,执行步骤213;
步骤212、i增1,j为0,n为1,返回执行步骤202;
步骤213、从内存中将图片的原始象素存储空间a[i][j]释放。
至此,由于新的向量象素组成的图片占用内存空间要比原始象素矩阵占用内存空间要少,实现了游戏中节省图片占用内存的目的,举例说明,原象素矩阵有连续5个灰色象素点,每个象素点占2个字节的存储空间,5个象素点占用10个字节的存储空间,使用本发明所述方法后将5个原象素点处理成一个向量象素,该向量象素用2个字节存储灰色数值,用一个字节存储同颜色象素个数5,一共占用3个字节的存储空间,比原来占用的10字节的存储空间要小很多,实现了节省存储空间的目的。在实际手机游戏执行过程中,该还包括以下步骤:
步骤214、在游戏过程中,根据要绘制的图片标识在内存中找到该图片,此时图片由向量象素构成,该图片标识是在游戏编码时根据游戏逻辑控制设置的唯一标识,以便绘制图片时调用,在游戏编码时已为每个图片都设置了唯一标识;
步骤215、以行为单位获取图片的向量象素,根据向量象素数值中存储的颜色数值和统计数值,绘制与统计数值相等个数的同颜色象素点,例如,存储颜色数值代表灰色,统计数值为5,就连续绘制5个灰色点。
其中,步骤201中从外存获取的图片格式直接由象素矩阵表示的,而对于游戏中通常包含大量的图片,为了节省外存存储空间,将游戏安装到手机中时,往往是将图片文件压缩后再存储,外存中存储的是压缩格式的图片文件,例如JPG格式文件、PNG格式文件等,此时,该方法进一步包括:
根据图片的压缩格式选择相应的解压方法对图片进行解压,得到图片的原象素矩阵,例如,若图片是PNG格式压缩存储的,则使用PNG格式对应的解压方法进行解压缩。
步骤201中从外存获取图片加载到内存,获取图片的数量可以是以等级或关卡为单位获取的,如果图片资源少,也可以一次性获取所有图片加载到内存中,这是根据游戏逻辑和占用空间资源的大小由开发人员决定的,或者在游戏执行过程中,需要哪张图片就从外存调用哪张图片加载到内存也是可行的,不影响本发明的实现。
为使本发明的实现过程更清楚明白,下面对所举实施例给出程序设计思路:创建一维数组b[m],长度与图片原象素矩阵列数相同,创建一个指针*C,创建一个指针数组*P[h],长度与图片原象素矩阵行数相同,定义计数器n,初始值设为1,赋i为0,j为0,m为0,h为0;
参照实施例的所述步骤执行,每次在保存时都将颜色数值a[i][j]和统计数值n组合成一个3字节数值保存到b[m]中,改变m=m+1,当本行中所有象素处理完成后,获取数组b[m]的实际存储数据长度L,为指针*C分配长度为L的存储空间,将数组b[m]的值拷贝到这段存储空间中,将指针*C保存到指针数组*P[h]中,h=h+1,清空数组b[m],m=0,n为1,i增1,j为0,继续处理下一行象素。
在原象素矩阵所有元素都被处理完成后,从内存中释放原象素矩阵a[i][j]和数组b[m]。
至此完成了发明目的,新的向量象素保存在指针数组*P[h]存储的指针所指向的存储空间中,此时图片占用的存储空间比原来用象素矩阵表示占用的存储空间少,所以节省了内存的空间。在实际手机游戏执行过程中,还需要绘制游戏图片,绘制游戏图片是依次读取*P[h]中存储的指针,根据存储的指针找到该行中向量象素的存储空间,读取向量象素,根据存储的颜色数值和统计数值,绘制与统计数值相等个数的同颜色象素点。
在游戏的开发过程中,开发人员可以在设计游戏图片后,采用本发明所提供的方法将图片由象素矩阵表示转换成由向量象素表示,即顺序统计图片每一行中连续的相同颜色象素的个数,将统计数值与象素颜色数值组合成向量象素保存,释放图片的原象素存储空间,实现了在游戏开发时就节省图片存储空间的目的。用户将游戏软件安装在手机上,在游戏过程中,从外存获取图片加载到内存,此时图片是由向量象素表示的,然后执行步骤214和步骤215绘制游戏图片。
相应的,本发明提供了一种用于显示图片的存储系统,如图3所示,该系统包括:图片处理单元和图片存储单元,其中:
图片处理单元,用于顺序判断同一行中当前象素颜色数值a[i][j]与下一个象素颜色数值a[i][j+1]是否相同,统计相同颜色象素的个数,将统计数值用一个字节存储,与象素颜色数值组合成一个数值作为新的向量象素;
图片存储单元,用于将图片处理单元中组合成的图片的向量象素保存,将原象素a[i][j]的存储空间释放。
图片存储单元还用于从外存获取图片,当外存存储的图片是压缩格式的图片时,该系统还进一步包括图片解压缩单元,用于根据图片的压缩格式选择相应的解压方法将图片解压成原象素矩阵,并存入图片存储单元。
在实际手机游戏执行过程中还要绘制游戏图片,此时该系统还包括:
图片绘制单元,用于根据要绘制的图片标识在图片存储单元中找到该图片,获取图片每一行中新的向量象素,根据向量象素数值中存储的颜色值和统计数值,绘制与统计值相等个数的相同颜色的象素点。
以上对本发明所提供的一种节省图片占用的内存的方法及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1、一种用于显示图片的存储方法,其特征在于,该方法包括以下步骤:
a、顺序统计内存中图片每一行中连续的相同颜色象素的个数,将统计数值与象素颜色数值组合成向量象素存入内存;
b、从内存中释放图片的原象素存储空间。
2、根据权利要求1所述的方法,其特征在于,步骤a之前还包括:
从外存获取压缩图片到内存,根据图片的压缩格式选择相应的解压方法将图片解压成象素矩阵。
3、根据权利要求1所述的方法,其特征在于,步骤a为:
a11、顺序判断图片同一行中当前象素颜色数值a[i][j]与下一个象素颜色数值a[i][j+1]是否相同,如果是,执行a12;如果否,执行a13;
a12、统计相同个数,判断a[i][j+1]是否是当前行最后一个象素点,如果是,将统计数值与象素颜色数值a[i][j]组合成向量象素存入内存,执行a14,如果否,j增1,执行a11;
a13、将统计数值与象素颜色数值a[i][j]组合成向量象素存入内存,判断a[i][j+1]是否是本行最后一个元素,如果是,将数值1与a[i][j+1]组合成向量象素存入内存,执行a14,如果否,j增1,执行a11;
a14、判断当前行是否是图片最后一行,如果是,执行步骤b,如果否,i增1,j为0,返回执行a11。
4、根据权利要求1所述的方法,其特征在于,所述将统计数值与象素颜色数值组合成向量象素为:
将统计数值用一个字节存储,象素颜色数值用两个字节存储,将此三个字节组合成向量象素。
5、根据权利要求3所述的方法,其特征在于,所述步骤b中从内存中释放图片的原象素存储空间具体为将存储原象素颜色数值的二维数组a[i][j]的存储空间释放。
6、根据权利要求4或5所述的方法,其特征在于,该方法进一步包括:
d、根据要绘制的图片标识找到该图片;
e、获取图片每一行的向量象素,根据向量象素数值中存储的颜色数值和统计数值,连续绘制与统计数值相等个数的同颜色象素点。
7、一种用于显示图片的存储系统,其特征在于,该系统包括:图片处理单元和图片存储单元,其中,
图片处理单元,用于顺序统计图片存储单元中图片每一行中连续的颜色相同象素的个数,将统计数值与象素颜色数值组合成向量象素;
图片存储单元,用于保存图片处理单元产生的向量象素,释放图片的原象素存储空间。
8、根据权利要求7所述的系统,其特征在于:
图片存储单元进一步用于从外存获取图片。
9、根据权利要求7所述的系统,其特征在于,当外存中存储的图片是压缩格式图片时,该系统还包括:
图片解压缩单元,用于从外存获取图片,根据图片的压缩格式选择相应的解压方法将图片解压成原象素矩阵保存到图片存储单元中。
10、根据权利要求7所述的系统,其特征在于,该系统还进一步包括:
图片绘制单元,用于根据要绘制的图片标识在图片存储单元中找到该图片,获取图片每一行的向量象素,根据该向量象素中存储的颜色数值和统计数值,绘制与统计数值相等个数的同颜色象素点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610112461 CN1909672A (zh) | 2006-08-18 | 2006-08-18 | 一种用于显示图片的存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610112461 CN1909672A (zh) | 2006-08-18 | 2006-08-18 | 一种用于显示图片的存储方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1909672A true CN1909672A (zh) | 2007-02-07 |
Family
ID=37700643
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610112461 Pending CN1909672A (zh) | 2006-08-18 | 2006-08-18 | 一种用于显示图片的存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1909672A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073983A (zh) * | 2010-12-27 | 2011-05-25 | 广州杰赛科技股份有限公司 | Png图片资源优化处理方法及装置 |
CN103324740A (zh) * | 2013-06-28 | 2013-09-25 | 深圳市九洲电器有限公司 | 一种图片显示方法、装置及机顶盒 |
CN103618901A (zh) * | 2013-11-29 | 2014-03-05 | Tcl通讯(宁波)有限公司 | 一种针对边缘同色图片的无损压缩方法及系统 |
CN104461745A (zh) * | 2014-12-23 | 2015-03-25 | 中科创达软件股份有限公司 | 一种内存优化方法及装置 |
CN105989599A (zh) * | 2015-02-15 | 2016-10-05 | 西安酷派软件科技有限公司 | 一种图像处理方法、装置和终端 |
CN108671541A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 一种数据存储方法和装置以及存储介质 |
CN110975286A (zh) * | 2019-12-19 | 2020-04-10 | 福建天晴在线互动科技有限公司 | 一种基于游戏地图中提高资源复用性的方法及其系统 |
-
2006
- 2006-08-18 CN CN 200610112461 patent/CN1909672A/zh active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073983A (zh) * | 2010-12-27 | 2011-05-25 | 广州杰赛科技股份有限公司 | Png图片资源优化处理方法及装置 |
CN103324740A (zh) * | 2013-06-28 | 2013-09-25 | 深圳市九洲电器有限公司 | 一种图片显示方法、装置及机顶盒 |
WO2014206190A1 (zh) * | 2013-06-28 | 2014-12-31 | 深圳市九洲电器有限公司 | 一种图片显示方法、装置及机顶盒 |
CN103618901A (zh) * | 2013-11-29 | 2014-03-05 | Tcl通讯(宁波)有限公司 | 一种针对边缘同色图片的无损压缩方法及系统 |
CN104461745A (zh) * | 2014-12-23 | 2015-03-25 | 中科创达软件股份有限公司 | 一种内存优化方法及装置 |
CN105989599A (zh) * | 2015-02-15 | 2016-10-05 | 西安酷派软件科技有限公司 | 一种图像处理方法、装置和终端 |
CN108671541A (zh) * | 2018-04-27 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 一种数据存储方法和装置以及存储介质 |
CN108671541B (zh) * | 2018-04-27 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 一种数据存储方法和装置以及存储介质 |
CN110975286A (zh) * | 2019-12-19 | 2020-04-10 | 福建天晴在线互动科技有限公司 | 一种基于游戏地图中提高资源复用性的方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1909672A (zh) | 一种用于显示图片的存储方法及系统 | |
US8542939B2 (en) | Methods of and apparatus for using tree representations for representing arrays of data elements for encoding and decoding data in data processing systems | |
CN1949269A (zh) | 一种动画的实现方法和动画绘制系统 | |
US8990518B2 (en) | Methods of and apparatus for storing data in memory in data processing systems | |
US8625910B2 (en) | Compression of image data | |
US11023152B2 (en) | Methods and apparatus for storing data in memory in data processing systems | |
US9143793B2 (en) | Video processing system, computer program product and method for managing a transfer of information between a memory unit and a decoder | |
CN86102722A (zh) | 彩色图像显示系统 | |
CN1761322A (zh) | 选择参考图像的方法 | |
CN1659595A (zh) | 用于编码纹理信息的方法和设备 | |
CN1842005A (zh) | 一种实现图文消息呈现的方法 | |
US20240212217A1 (en) | Random accessible image data compression | |
CN1949222A (zh) | 游戏地图的存储方法及系统、游戏地图的获取方法及系统 | |
US12075065B2 (en) | Parallel histogram calculation with application to palette table derivation | |
US11263786B2 (en) | Decoding data arrays | |
WO2023011033A1 (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN111405294A (zh) | 一种图像栅格数据的存储及传输方法 | |
DK2504814T3 (en) | DECODING SYSTEM AND PROCEDURE TO USE ON CODED TEXTURE ELEMENT BLOCKS | |
CN110971904B (zh) | 一种图像压缩的控制方法 | |
CN116188244B (zh) | 图块分发方法、装置、设备及存储介质 | |
CN110109677A (zh) | 一种动态对象缓存池分配方法 | |
CN114882149A (zh) | 动画渲染方法、装置、电子设备和存储介质 | |
CN111767246A (zh) | 数据处理方法、相关设备及计算机可读介质 | |
CN113473150B (zh) | 一种图像处理方法、装置以及计算机可读存储装置 | |
CN111919445A (zh) | 使用三角剖分的图像压缩和解压缩 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20070207 |