System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及通信,尤其涉及一种图片压缩方法及装置。
技术介绍
1、随着移动互联网的发展,智能终端的拍照技术越来越好,其拍摄的照片的体积也随着图片质量的提升而增大。而在日常应用中,许多软件系统存在使用图片的base64编码作为接口入参的场景,此时,大体积的图片会导致软件系统卡顿,而图片压缩可以缩小图片体积,因此,图片压缩成为保证用户体验的重要手段。
2、传统的图片压缩方法对于大体积图片压缩效果差,且无法将图片准确压缩到满足需求的体积。
技术实现思路
1、本申请提供一种图片压缩方法及装置,能够动态调整压缩质量比,使得目标源图片满足压缩需求的同时,也能维持较好的图片质量。
2、为达到上述目的,本申请采用如下技术方案:
3、第一方面,本申请提供一种图片压缩方法,该方法包括:获取目标源图片;在目标源图片的体积超过预设范围的情况下,对目标源图片进行压缩处理,压缩处理后的目标源图片的体积位于预设范围,压缩处理包括:根据第一压缩质量比,对目标源图片进行第n次压缩处理,第一压缩质量比为基于第二压缩质量比以及第n-1次压缩处理后的目标源图片的体积确定,第二压缩质量比为对目标源图片进行第n-1次压缩处理时使用的压缩质量比,n为正整数;输出迭代处理后的目标源图片。
4、基于上述技术方案,可以获取目标源图片,在目标源图片的体积超过预设范围的情况下,对目标源图片进行压缩处理,并输出压缩处理后的目标源图片。由于压缩处理包括:根据第一压缩质量比,对目标源图片进行第n次
5、一种可能的实现方式,第一压缩质量比为基于第二压缩质量比以及第n-1次压缩处理后的目标源图片的体积确定,包括:在第n-1次压缩处理后的目标源图片的体积大于预设范围的情况下,根据第二压缩质量比与1/2n之和,确定第一压缩质量比;或者,在第n-1次压缩处理后的目标源图片的体积小于预设范围的情况下,根据第二压缩质量比与1/2n之差,确定第一压缩质量比。
6、基于上述方法,可以基于第二压缩质量比以及第n-1次压缩处理后的目标源图片的体积确定第一压缩质量比,在第n-1次压缩处理后的目标源图片的体积大于预设范围的情况下,即第n-1次压缩处理后的目标源图片的体积较大,可以动态调大第一压缩质量比的数值,使得目标源图片的体积满足压缩需求。同理,在第n-1次压缩处理后的目标源图片的体积小于预设范围的情况下,即第n-1次压缩处理后的目标源图片的体积过小,可以动态调小第一压缩质量比的数值,使得压缩后的目标源图片的体积适当增大,使得目标源图片的体积在满足压缩需求的同时,还可以维持较好的图片质量。
7、一种可能的实现方式,根据第一压缩质量比,对目标源图片进行第n次压缩处理,包括:创建canvas画布,将目标源图片绘制到canvas画布中;将第一压缩质量比作为canvas画布函数的入参,调用canvas画布函数对canvas画布进行第n次压缩处理。
8、基于上述方法,可以通过创建canvas画布,使用canvas画布函数的压缩功能实现对目标源图片的压缩。
9、一种可能的实现方式,目标源图片为预设编码,输出压缩处理后的目标源图片,包括:截取预设编码的前缀,前缀用于表示目标源图片的格式;根据前缀,输出压缩处理后的目标源图片,压缩处理后的目标源图片的格式与目标源图片的格式一致。
10、基于上述方法,可以通过截取预设编码的前缀,使得压缩处理后的目标源图片的格式与目标源图片的格式一致。
11、一种可能的实现方式,预设范围为目标压缩体积的3/4至目标压缩体积之间。
12、基于上述方法,由于预设范围为压缩后的目标源图片的图片质量保持良好的范围,可以使得目标源图片的体积保持在满足压缩需求且图片质量较好的范围内。
13、第二方面,本申请提供一种图片压缩装置,该装置包括获取模块和处理模块;获取模块,用于获取目标源图片。处理模块,用于在目标源图片的体积超过预设范围的情况下,对目标源图片进行压缩处理,压缩处理后的目标源图片的体积位于预设范围,压缩处理包括:根据第一压缩质量比,对目标源图片进行第n次压缩处理,第一压缩质量比为基于第二压缩质量比以及第n-1次压缩处理后的目标源图片的体积确定,第二压缩质量比为对目标源图片进行第n-1次压缩处理时使用的压缩质量比,n为正整数。处理模块,还用于输出压缩处理后的目标源图片。
14、第三方面,本申请提供了一种图片压缩装置,该装置包括处理器,该处理器与存储器耦合,该处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的方法。
15、第四方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令在终端上运行时,使得计算机执行如第一方面和第一方面的任一种可能的实现方式中描述的方法。
16、第五方面,本申请实施例提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如第一方面和第一方面的任一种可能的实现方式中所描述的方法。
17、第六方面,本申请实施例提供一种芯片,芯片包括处理器,该处理器与存储器耦合,该处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的方法。
18、其中,第二方面至第六方面中任一种可能的实现方式所带来的技术效果可参见上述第一方面或第一方面中不同可能的实现方式所带来的技术效果,此处不再赘述。
本文档来自技高网...【技术保护点】
1.一种图片压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一压缩质量比为基于第二压缩质量比以及第n-1次压缩处理后的目标源图片的体积确定,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据第一压缩质量比,对所述目标源图片进行第n次压缩处理,包括:
4.根据权利要求1所述的方法,其特征在于,所述目标源图片为预设编码,所述输出所述压缩处理后的目标源图片,包括:
5.根据所述权利要求1-4任一项所述的方法,其特征在于,所述预设范围为目标压缩体积的3/4至目标压缩体积之间。
6.一种图片压缩装置,其特征在于,所述装置包括:获取模块和处理模块;
7.根据权利要求6所述的装置,其特征在于,
8.根据权利要求6所述的装置,其特征在于,
9.根据权利要求6所述的装置,其特征在于,
10.根据权利要求6-9任一项所述的装置,其特征在于,所述预设范围为目标压缩体积的3/4至目标压缩体积之间。
11.一种图片压缩装置,其特征在于,包括:
12.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当计算机执行所述指令时,所述计算机执行如权利要求1至5中任一项所述的方法。
...【技术特征摘要】
1.一种图片压缩方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述第一压缩质量比为基于第二压缩质量比以及第n-1次压缩处理后的目标源图片的体积确定,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据第一压缩质量比,对所述目标源图片进行第n次压缩处理,包括:
4.根据权利要求1所述的方法,其特征在于,所述目标源图片为预设编码,所述输出所述压缩处理后的目标源图片,包括:
5.根据所述权利要求1-4任一项所述的方法,其特征在于,所述预设范围为目标压缩体积的3/4至目标压缩体积之间。
6.一种图片压缩装置,其特征在于,所述装置包括:获取模块和处理模块;
【专利技术属性】
技术研发人员:李健,徐景满,樊孝堃,张健,于辉,任煜燊,邱健斌,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。