System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种APP中图片的压缩方法及电子设备技术_技高网

一种APP中图片的压缩方法及电子设备技术

技术编号:41873693 阅读:8 留言:0更新日期:2024-07-02 00:25
本申请涉及图像处理技术领域,提供一种APP中图片的压缩方法及电子设备中,在进行APP开发时,将该APP的本地图片库中颜色总数小于等于预设颜色数量阈值的至少一张初始图片,分别转换为索引格式的目标图片,这样,在APP运行时,按照索引格式的解析方式,将这部分索引格式的目标图片解析到移动终端的内存时,相对于原始格式的初始图片,索引格式的目标图片的内存占用减少到标准ARGB_8888格式的图片的四分之一,减少到RGB_565格式的图片的二分之一,有效降低了该APP的内存占用率,且通过不同的预设颜色数量阈值,平衡图片压缩质量和内存占用量之间的关系,实现无损压缩和有损压缩的控制。

【技术实现步骤摘要】

本申请涉及图像处理,提供一种app中图片的压缩方法及电子设备。


技术介绍

1、随着信息技术和软件行业的不断发展,人们对移动终端的功能要求越来越多,为了满足这些庞大的功能,各类app被开发完成,如外卖app、交通app、通信app、旅游app、教育app、医疗app等。

2、移动终端上安装的app越多,内存占用越大。目前,移动终端的内存大小一般为64g、128g、256g或者更高,8g的内存已经满足不了人类的使用需求。

3、通常的,一个app中内存占用率最高的为图片,因此,为了有效降低app占用的移动终端的内存,需要对app中的图片进行压缩。


技术实现思路

1、本申请实施例提供了一种app中图片的压缩方法及电子设备,用于降低app中的图片占用的移动终端的内存。

2、一方面,本申请实施例提供一种app中图片的压缩方法,包括:

3、在app开发时,从所述app的本地图片库中,筛选出颜色总数小于等于预设颜色数量阈值的至少一张初始图片;

4、将所述至少一张初始图片,分别转换为索引格式的目标图片进行压缩以降低内存占用;

5、在所述app运行时,针对所述本地图片库中的每一张当前图片,确定所述当前图片的格式类型;

6、采用与所述当前图片的格式类型相匹配的方式,将所述当前图片解析到移动终端的内存中用于渲染。

7、另一方面,本申请实施例提供一种电子设备,包括处理器、存储器和显示屏,所述显示屏、所述存储器和所述处理器通过总线连接;

8、所述显示屏用于显示app中的图片;

9、所述存储器存储有计算机程序,所述处理器根据所述计算机程序,执行以下操作:

10、在app开发时,从所述app的本地图片库中,筛选出颜色总数小于等于预设颜色数量阈值的至少一张初始图片;

11、将所述至少一张初始图片,分别转换为索引格式的目标图片进行压缩以降低内存占用;

12、在所述app运行时,针对所述本地图片库中的每一张当前图片,确定所述当前图片的格式类型;

13、采用与所述当前图片的格式类型相匹配的方式,将所述当前图片解析到移动终端的内存中用于渲染。

14、可选的,所述处理器采用与所述当前图片的格式类型相匹配的方式,将所述当前图片解析到移动终端的内存中用于渲染,具体操作为:

15、当所述当前图片的格式类型为索引格式时,采用索引格式的解析方式,将所述当前图片解析到所述移动终端的内存中用于渲染;

16、当所述当前图片的格式类型为原始格式时,确定所述当前图片是否包含透明度a通道,根据所述a通道的有无,采用不同的方式将所述当前图片解析到所述移动终端的内存中用于渲染。

17、可选的,所述处理器采用索引格式的解析方式,将所述当前图片解析到所述移动终端的内存中用于渲染,具体操作为:

18、针对所述当前图片中的每一个像素点,在所述移动终端的内存中采用8比特位表示所述像素点的颜色值,每一比特位的取值为0或1。

19、可选的,所述处理器根据所述透明度a通道的有无,采用不同的方式将所述当前图片解析到所述移动终端的内存中用于渲染,具体操作为:

20、当所述当前图片不包含a通道时,在所述移动终端的内存中,使用不同的比特位分别表示所述当前图片中每一像素点的r通道、g通道和b通道的颜色值;

21、当所述当前图片包含a通道时,在所述移动终端的内存中,使用相同的比特位分别表示所述当前图片中每一像素点的a通道、r通道、g通道和b通道的颜色值。

22、可选的,所述处理器在所述移动终端的内存中,使用不同的比特位分别表示所述当前图片中每一像素点的r通道、g通道和b通道的颜色值,具体操作为:

23、在所述移动终端的内存中,分别采用5比特位、6比特位、5比特位表示所述当前图片中每一像素点的r通道、g通道和b通道的颜色值;

24、所述处理器在所述移动终端的内存中,使用相同的比特位分别表示所述当前图片中每一像素点的a通道、r通道、g通道和b通道的颜色值,具体操作为:

25、在所述移动终端的内存中分别采用4个8比特位表示所述当前图片中每一像素点的a通道、r通道、g通道和b通道的颜色值;

26、其中,每一比特位的取值为0或1。

27、可选的,所述预设颜色数量阈值为256。

28、可选的,所述预设颜色数量阈值的确定方式为:

29、获取大于256的多个候选颜色数量阈值各自对应的压缩后的图片;

30、根据各压缩后的图片的质量损失值,从多个候选颜色数量阈值中,选择一个候选颜色数量阈值作为所述预设颜色数量阈值。

31、另一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行本申请实施例提供的app中图片的压缩方法步骤。

32、本申请实施例提供的一种app中图片的压缩方法及电子设备中,在进行app开发时,将该app的本地图片库中颜色总数小于等于预设颜色数量阈值的至少一张初始图片,分别转换为索引格式的目标图片,这样,在app运行时,按照索引格式的解析方式,将这部分索引格式的目标图片解析到移动终端的内存时,相对于原始格式的初始图片,索引格式的目标图片的内存占用减少到标准argb_8888格式的图片的四分之一,有效降低了该app的内存占用率,且格式转换时通过预设颜色数量阈值对本地图片库中的图片进行了筛选,从而保证格式转换后的目标图片的压缩质量,实现无损压缩。

本文档来自技高网...

【技术保护点】

1.一种APP中图片的压缩方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,采用与所述当前图片的格式类型相匹配的方式,将所述当前图片解析到移动终端的内存中用于渲染,包括:

3.如权利要求2所述的方法,其特征在于,所述采用索引格式的解析方式,将所述当前图片解析到所述移动终端的内存中用于渲染,包括:

4.如权利要求2所述的方法,其特征在于,所述根据所述透明度A通道的有无,采用不同的方式将所述当前图片解析到所述移动终端的内存中用于渲染,包括:

5.如权利要求4所述的方法,其特征在于,所述在所述移动终端的内存中,使用不同的比特位分别表示所述当前图片中每一像素点的R通道、G通道和B通道的颜色值,包括:

6.如权利要求1-5中任一项所述的方法,其特征在于,所述预设颜色数量阈值为256。

7.如权利要求1-5中任一项所述的方法,其特征在于,所述预设颜色数量阈值的确定方式为:

8.一种电子设备,其特征在于,包括处理器、存储器和显示屏,所述显示屏、所述存储器和所述处理器通过总线连接;

9.如权利要求8所述的电子设备,其特征在于,所述处理器采用与所述当前图片的格式类型相匹配的方式,将所述当前图片解析到移动终端的内存中用于渲染,具体操作为:

10.如权利要求9所述的电子设备,其特征在于,所述处理器采用索引格式的解析方式,将所述当前图片解析到所述移动终端的内存中用于渲染,具体操作为:

...

【技术特征摘要】

1.一种app中图片的压缩方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,采用与所述当前图片的格式类型相匹配的方式,将所述当前图片解析到移动终端的内存中用于渲染,包括:

3.如权利要求2所述的方法,其特征在于,所述采用索引格式的解析方式,将所述当前图片解析到所述移动终端的内存中用于渲染,包括:

4.如权利要求2所述的方法,其特征在于,所述根据所述透明度a通道的有无,采用不同的方式将所述当前图片解析到所述移动终端的内存中用于渲染,包括:

5.如权利要求4所述的方法,其特征在于,所述在所述移动终端的内存中,使用不同的比特位分别表示所述当前图片中每一像素点的r通道、g通道和b通道的颜色...

【专利技术属性】
技术研发人员:方琦黄福胜
申请(专利权)人:青岛海信智慧生活科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1