1.本技术涉及图像处理技术领域,特别是涉及一种压缩图片的方法、装置以及存储介质。
背景技术:2.目前,为满足用户经常使用图片的需求,设计人员在软件开发过程当中常常以压缩图片的占用空间和调整图片的尺寸为目的进行开发。因此,设计人员开发出了图片压缩处理操作工具。
3.但是,使用现有的图片压缩技术压缩图片时往往无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求。并且现有的图片压缩技术还存在导出图片格式少和经处理后的图片在部分移动端中不可兼容的问题。
4.针对上述的现有技术中存在的无法满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及经处理后的图片在部分移动端中不可兼容的技术问题,目前尚未提出有效的解决方案。
技术实现要素:5.本公开的实施例提供了一种压缩图片的方法、装置以及存储介质,以至少解决现有技术中存在的无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及经处理后的图片在部分移动端中不可兼容的技术问题。
6.根据本公开实施例的一个方面,提供了一种压缩图片的方法,包括:确定待压缩的第一图片以及目标参数值,其中目标参数值为经压缩后的第一图片的最大限制图片参数值;对第一图片进行图像处理;以及生成与目标参数值对应的第二图片。
7.根据本公开实施例的另一个方面,还提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时由处理器执行以上任意一项所述的方法。
8.根据本公开实施例的另一个方面,还提供了一种压缩图片的装置,包括:确定模块,用于确定待压缩的第一图片以及目标参数值,其中所目标参数值为经压缩后的第一图片的图片信息值;处理模块,用于对第一图片进行图像处理;以及生成模块,用于生成与目标参数值对应的第二图片。
9.根据本公开实施例的另一个方面,还提供了一种压缩图片的装置,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:确定待压缩的第一图片以及目标参数值,其中目标参数值为经压缩后的第一图片的图片信息值;对第一图片进行图像处理;以及生成与目标参数值对应的第二图片。
10.在本公开实施例中,通过确定第一图片以及目标参数值,并根据目标参数值对第一图片进行图像处理的操作能够达到同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及在移动端中的图片能够兼容的技术效果。进而解决了现有技术中存在的无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,
在部分移动端中的图片不可兼容的技术问题。
附图说明
11.此处所说明的附图用来提供对本公开的进一步理解,构成本技术的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
12.图1是用于实现根据本公开实施例1所述的方法的计算设备的硬件结构框图;
13.图2是根据本公开实施例1所述的压缩图片的系统的示意图;
14.图3是根据本公开实施例1的第一个方面所述的压缩图片的方法的流程示意图;
15.图4是根据本公开实施例1的第一个方面的终端设备的用于输入第一图片以及目标参数值的界面的示意图;
16.图5a是根据本公开实施例1的第一个方面的设置于canvas面板上的第一图片的界面示意图;
17.图5b是根据本公开实施例1的第一个方面的设置于canvas面板上的经过旋转后的第一图片的界面示意图;
18.图6是根据本公开实施例2所述的压缩图片的装置的示意图;以及
19.图7是根据本公开实施例3所述的压缩图片的装置的示意图。
具体实施方式
20.为了使本技术领域的人员更好地理解本公开的技术方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
21.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
22.首先,在对本公开实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
23.image类型:图像类型。
24.canvas画板:画布画板,也是重量级画板。
25.blob类型:二进制大对象,是一个可以存储二进制文件的容器。
26.实施例1
27.根据本实施例,提供了一种压缩图片的方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述
的步骤。
28.本实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的计算设备中执行。图1示出了一种用于实现一种压缩图片的方法的计算设备的硬件结构框图。如图1所示,计算设备可以包括一个或多个处理器(处理器可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器、以及用于通信功能的传输装置。除此以外,还可以包括:显示器、输入/输出接口(i/o接口)、通用串行总线(usb)端口(可以作为i/o接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
29.应当注意到的是上述一个或多个处理器和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备中的其他元件中的任意一个内。如本公开实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
30.存储器可用于存储应用软件的软件程序以及模块,如本公开实施例中的一种压缩图片的方法对应的程序指令/数据存储装置,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的一种压缩图片的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
31.传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
32.显示器可以例如触摸屏式的液晶显示器(lcd),该液晶显示器可使得用户能够与计算设备的用户界面进行交互。
33.此处需要说明的是,在一些可选实施例中,上述图1所示的计算设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算设备中的部件的类型。
34.图2是根据本实施例所述的压缩图片的系统的示意图。参照图2所示,该系统包括:终端设备100以及服务器200。其中终端设备100设置有压缩图片的客户端程序,从而用户可以通过客户端程序接收用户输入的原始图片和生成目标图片所需要的目标参数值,并且客户端程序根据接收到的用于生成目标图片所需要的目标参数值对原始图片进行压缩处理操作形成目标图片。用户通过终端设备100将目标图片上传至服务器200,由服务器200对目标图片进行进一步处理。需要说明的是,系统中的终端设备100以及服务器200均可适用上
面所述的硬件结构。
35.在上述运行环境下,根据本实施例的第一个方面,提供了一种压缩图片的方法,该方法由图2中所示的终端设备100实现。图3示出了该方法的流程示意图,参考图3所示,该方法包括:
36.s302:确定待压缩的第一图片以及目标参数值,其中目标参数值为经压缩后的第一图片的图片信息值;
37.s304:对第一图片进行图像处理;以及
38.s306:生成与目标参数值对应的第二图片。
39.具体地,根据本实施例所述的技术方案,用户可以在终端设备100上通过对图片进行压缩的压缩处理操作将用户输入的第一图片转化为第二图片,其中第一图片为原始图片,第二图片为压缩后的目标图片。图4示出了终端设备100显示的输入上传第一图片以及目标参数值的界面的示意图。该界面例如可以是终端设备100响应于用户需要对第一图片进行压缩处理操作的触发操作而弹出的。从而,用户可以通过图4所示的界面对第一图片进行压缩。
40.参考图4所示,上传原始图片以及目标参数值的界面包括如下几个控件:图片控件和目标参数值控件。
41.用户可以通过图片控件将需要进行压缩处理操作的第一图片上传到终端设备100上。
42.用户可以通过目标参数值控件将设定好的目标参数值输入到终端设备100上。例如,用户可以在宽度值控件当中输入最大宽度值,或者在高度值控件当中输入最大高度值,在宽高比控件当中输入最大宽高比以及在存储量值空间当中输入最大存储量值,终端设备100通过用户输入的上述目标参数值,限定第一图片所允许达到的最大宽度值、最大高度值,最大宽高比以及最大存储量值。
43.并且,用户可以通过填写目标参数信息值使得终端设备100能够根据用户填写的目标参数信息对原始图片进行压缩处理操作并生成目标图片。
44.从而,用户可以通过该界面上传原始图片以及输入目标参数值。用户在输入以上信息后,可以点击“上传”按钮。终端设备100接收到用户上传的第一图片以及目标参数值后对第一图片进行解析。之后终端设备100会解析第一图片并输出第一图片的原始参数值。其中,原始参数值包括第一图片的宽度值、第一图片的高度值、第一图片的宽高比、图片的格式以及图片的质量等(s302)。
45.然后,终端设备100根据用户输入的目标参数值对第一图片进行图像处理(s304)。其中,终端设备100对第一图片进行图像处理的操作包括:将由终端设备100解析出的第一图片的原始参数值与用户输入的目标参数值进行比对,根据比对后的结果设置第二图片的宽度值以及高度值以及执行压缩处理操作。
46.从而,终端设备100生成与目标参数值对应的第二图片(s306)。
47.终端设备100将生成的第二图片显示给用户。若第二图片满足用户的要求,则用户可以通过终端设备100将该第二图片上传至服务器200并由服务器200对该第二图片进行进一步的处理;若第二图片不满足用户的要求,则用户可以将对该第二图片再次进行压缩处理操作。
48.正如背景技术中所述,现有的图片压缩技术压缩图片时往往无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求。并且现有的图片压缩技术还存在导出图片格式少和经处理后的图片在部分移动端中不可兼容的问题。
49.针对上述的技术问题,通过本实施例的技术方案,终端设备100接收到用户上传的第一图片以及目标参数值后,对第一图片进行解析得到第一图片的原始参数值。然后,终端设备100将原始参数值和目标参数值进行比对,并根据目标参数值对第一图片进行压缩处理操作和旋转处理等,从而生成第二图片。最后,终端设备100将生成的第二图片显示给用户。从而当第一图片的角度出现偏差时,终端设备100会对第一图片进行角度纠正,将该图片旋转至正确位置,从而避免了由于终端设备的兼容问题而出现的图片自动旋转问题,提高了移动端的兼容性。
50.从而,本技术方案通过确定第一图片以及目标参数值,并根据目标参数值对第一图片进行图像处理的操作能够达到同时满足根据设定参数压缩图片、控制图片尺寸和保证图片不发生变形的要求,以及经处理后的图片在移动端中的图片能够兼容的技术效果。进而解决了现有技术中存在的无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及经处理后的图片在部分移动端中不可兼容的技术问题。
51.可选地,确定待压缩的第一图片以及目标参数值,其中所述目标参数值为经压缩后的所述第一图片的最大限制图片参数值的操作包括:解析第一图片,获取第一图片的原始参数值,其中原始参数值为第一图片的图片信息值;以及确定目标参数值,并根据目标参数值对第一图片进行图像处理。
52.具体地,终端设备100接收到用户上传的第一图片后,会对该第一图片进行解析,从而得到第一图片的原始参数值。其中,第一图片的原始参数值包括:宽度值、高度值和宽高比等。之后,终端设备100在接收用户输入的目标参数值后,会根据该目标参数值对第一图片进行图片压缩处理操作。其中,目标参数值包括:最大宽度值、最大高度值、最大宽高比和最大存储量值等。之后终端设备100还会根据第一图片的位置信息分析该第一图片是否需要改变位置。更具体地,终端设备100会判断第一图片是否需要旋转,当第一图片的角度出现偏差时,终端设备100会将第一图片进行旋转,从而改变该第一图片的位置信息,解决了由于兼容问题而导致的图片角度出现偏差的问题。
53.从而,通过解析第一图片的原始参数值、确定目标参数值以及对生成的第二图片进行旋转的操作能够达到满足用户按预设目标参数对第一图片进行压缩处理操作和解决部分移动端中的图片不可兼容的问题的技术效果。
54.可选地,对第一图片进行图像处理的操作包括:将原始参数值与目标参数值进行比对;以及在原始参数值与目标参数值不同的情况下,对第一图片进行图像处理,生成第二图片。
55.具体地,终端设备100对用户上传的第一图片进行解析并获取到用户上传的目标参数值后,会对第一图片解析后生成的原始参数值与目标参数值进行比对。若原始参数值与目标参数值相同,则说明第一图片满足用户的需求,那么终端设备100不需要对第一图片进行图像处理;若原始参数值与目标参数值不同,则说明第一图片不满足用户的需求,那么终端设备100需要对第一图片进行图像处理。其中原始参数值与目标参数值不同的情况包括:原始参数值中的高度值小于目标参数值中的最大高度值,原始参数值中的宽度值小于
目标参数值中的最大宽度值,以及原始参数值中的宽高比小于目标参数值中的最大宽高比。
56.终端设备100在对第一图片进行图像处理后,生成与目标参数值对应的第二图片。其中,图像处理可以是对第一图片的压缩处理操作和旋转处理等。从而,终端设备100可以通过对原始参数值和目标参数值进行比对判断用户输入的第一图片是否需要进行图像处理,避免了将不需要图像处理的图片也进行处理的操作,提高了处理图片的效率,节约了时间成本。
57.可选地,方法还包括:在第一图片是image类型的情况下,根据目标参数值配置初始化canvas画板,其中所述第一图片设置于所述canvas画板之上。
58.具体地,终端设备100在对第一图片处理之前,需要判断第一图片是否为image类型。在第一图片是image类型的情况下,终端设备100根据目标参数值配置初始化canvas画板,并将第一图片设置于canvas画板上。在第一图片不是image类型的情况下,终端设备100不对第一图片压缩处理操作。从而,在对第一图片进行压缩之前,判断第一图片是否为image类型的操作达到了节约压缩处理操作的时间成本的技术效果。
59.可选地,设定目标参数值,并根据目标参数值对第一图片进行图像处理的操作包括:设定对第一图片进行压缩的最大存储量值、最大宽度值、最大高度值和最大宽高比;以及在第一图片与经压缩后的第一图片的位置不同的情况下,对经压缩后的第一图片进行旋转处理,生成第二图片。
60.具体地,终端设备100在对第一图片进行解析并生成原始参数值后,确定用户输入的目标参数值。其中,确定目标参数值的具体操作为设定对第一图片进行压缩的最大存储量值、最大宽度值、最大高度值和最大宽高比。并且其中,最大存储量值、最大宽度值、最大高度值和最大宽高比是终端设备100对第一图片进行压缩处理操作时,存储量、宽度、高度和宽高比分别能够达到的最大值。例如,经终端设备100压缩后所生成的第二图片的最大存储量值设定为10m、最大宽度值设定为1200以及最大高度值设定为900。并且,在终端设备100确定最大存储量值、最大宽度值以及最大高度值并对第一图片进行压缩处理操作后,判断第一图片与第二图片的位置是否相同,例如终端设备100对第一图片进行压缩后得到的第二图片发生了旋转,则判定第一图片与第二图片的位置不相同,从而对第二图片进行旋转处理。从而,设定对第一图片进行压缩处理操作的最大限制值以及对第二图片进行旋转处理的操作达到了满足用户对图片的压缩需求、保证压缩后图片的清晰度以及解决图片在部分移动端的兼容性的问题的技术效果。
61.可选的,将原始参数值与目标参数值进行比对的操作包括:在第一图片的宽度值大于目标参数值设定的最大宽度值和/或第一图片的高度值大于目标参数值设定的最大高度值的情况下,判断第一图片的宽高比是否大于目标参数值设定的宽高比;以及在第一图片的宽度值小于目标参数值设定的最大宽度值和/或第一图片的高度值小于目标参数值设定的最大高度值的情况下,根据第一图片设定的宽度值与高度值设置canvas画板尺寸。
62.具体地,终端设备100在设置完canvas画板后,分别比对原始参数值和目标参数值中的宽度值以及高度值。在第一图片的原始参数值中的宽度值大于目标参数值设定的最大宽度值和/或第一图片的原始参数值中的高度值大于目标参数值设定的最大高度值的情况下,终端设备100进一步判断第一图片的原始参数值中的宽高比是否大于目标参数值设定
的最大宽高比。在第一图片的原始参数值中的宽度值小于目标参数值设定的最大宽度值和/或第一图片的原始参数值中的高度值小于目标参数值设定的最大高度值的情况下,依据第一图片的原始参数值中的宽度值以及高度值设置canvas画板尺寸。例如,第一图片的宽度值为900,目标参数值设定的最大宽度值为800。那么,终端设备100则需要进一步判断第一图片的原始参数值中的宽高比是否大于目标参数值设定的最大宽高比。
63.可选地,将原始参数值与目标参数值进行比对的操作还包括:在第一图片的宽高比大于目标参数值设定的最大宽高比的情况下,将目标参数值设定的最大宽度值作为第二图片的宽度值并且将目标参数值设定的最大宽度值与第一图片的宽高比的乘积作为第二图片的高度值;以及在第一图片的宽高比小于目标参数值设定的最大宽高比的情况下,将目标参数值设定的最大高度值作为第二图片的高度值并且将目标参数值设定的最大高度值与第一图片的宽高比的乘积作为第二图片的宽度值。
64.具体地,终端设备100在分别比对原始参数值中的宽度值以及高度值和目标参数值中的最大宽度值以及最大高度值后,还需要对原始参数值中的宽高比和目标参数值中的最大宽高比进行比对。若第一图片的宽高比大于目标参数值设定的最大宽高比,那么第二图片的宽度值就是目标参数值中的最大宽度值,第二图片的高度值就是目标参数值的最大宽度值与第一图片的宽高比的乘积。例如,第一图片的宽高比为1.5,目标参数值设定的宽高比为1.3。那么,第二图片的宽度值就是目标参数值设定的宽度值,第二图片的高度值就是第二图片的宽度值与第一图片的宽高比的乘积。
65.可选地,方法还包括:在确定预生成的第二图片的宽度值和高度值的情况下,根据预生成的第二图片的宽度值和高度值设置canvas画板尺寸。
66.具体地,第一图片设置于canvas画板之上并且由第一图片经压缩处理操作生成的第二图片的尺寸与canvas画板的尺寸相同。终端设备100判断第一图片的宽高比是否大于目标参数值设定的最大宽高比并根据判断结果设定canvas画板的宽度值和高度值。例如,第一图片的宽高比为1.5,目标参数值设定的最大宽高比为1.3。第一图片的宽度值为1200,目标参数值设定的最大宽度值为900。第一图片的宽高比大于目标参数值设定的最大宽高比,则设置有第一图片的canvas画板的宽度值为目标参数值设定的最大宽度值,高度值为第一图片的宽高比与目标参数值设定的最大宽度值的乘积。则经终端设备100计算得出的设置有第二图片的canvas画板的宽度值为900,高度值为1350。
67.可选地,在第一图片与canvas画板的位置不同的情况下,对canvas画板进行旋转处理,生成第二图片的操作包括:在设置有第一图片的canvas画板需要进行角度纠正的情况下,旋转设置有第一图片的canvas画板并执行压缩处理操作。
68.具体地,终端设备100将canvas画板的尺寸设定完成之后,判断canvas画板是否需要进行角度纠正。若设置有第一图片的canvas画板的角度与第一图片的角度不一致,则终端设备100将旋转canvas画板的角度并使设置有第一图片的canvas画板与第一图片的角度达成一致。终端设备100将canvas画板旋转到正确位置之后,对canvas面板执行压缩处理操作。图5a示出的是设置于canvas面板上的第一图片的界面示意图;图5b示出的是设置于canvas面板上的经过旋转后的第一图片的界面示意图。例如,参考图5a和图5b所示,经终端设备100进行压缩处理操作后生成的设置有第一图片的canvas画板相对于第一图片发生了位置信息的变化。因此,若要使得设置有第一图片的canvas画板的位置信息与第一图片一
致,则终端设备100需要将设置有第一图片的canvas画板顺时针旋转90
°
,从而生成位置信息与第一图片一致的第二图片。从而,通过纠正设置有第一图片的canvas画板的旋转角度的操作达到了能够解决部分移动端中的图片不可兼容的问题的技术效果。
69.可选地,方法还包括:判断第二图片的输出格式是否为blob类型;以及在第二图片的输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法。
70.具体地,终端设备100需要预先判断用户根据自己的需求选择第二图片的输出格式类型。在用户选择的第二图片的格式类型是blob类型的情况下,终端设备100需要判断由第一图片经压缩处理操作生成的第二图片的所处环境是否存在toblob方法。在用户选择的第二图片的格式类型不是blob类型的情况下,则终端设备100直接输出经处理后的第二图片。从而,终端设备100预先判断第二图片的输出格式类型并在用户选择的格式类型是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法的操作能够达到使得用户不需要进行格式转换而是直接指定第二图片的输出格式的技术效果。
71.优选地,第二图片的输出格式支持blob格式,也支持base64格式。
72.可选地,判断第二图片的预定输出格式是否为blob类型的操作包括:在第二图片的预定输出格式不是blob类型的情况下,输出第二图片;以及在第二图片的预定输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法。
73.具体地,在用户需要输出的第二图片的格式类型不是blob类型的情况下,终端设备100直接输出经压缩的处理操作处理后的第二图片。在用户需要输出的第二图片的格式类型是blob类型的情况下,终端设备100判断第二图片所处的环境是否存在toblob方法。从而,通过预先判断第二图片所处的环境是否存在toblob方法的操作达到了能够预先判断终端设备100能否导出blob格式的技术效果。
74.可选地,在第二图片的预定输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法的操作包括:在第二图片所处的环境不存在toblob方法的情况下,自定义toblob方法并输出第二图片;以及在第二图片所处的环境存在toblob方法的情况下,输出第二图片。
75.具体地,若终端设备100已经预先判断第二图片所处的环境并且第二图片所处的环境不存在toblob方法,则终端设备100需要自定义toblob方法。其中,自定义toblob方法是为了第二图片能够成功以blob类型的格式输出。若第二图片所处的环境存在toblob方法,那么终端设备直接输出第二图片。
76.从而通过本实施例的技术方案,用户通过在终端设备100上输入第一图片和目标参数值并由终端设备100确定第一图片以及目标参数值,并根据目标参数值对第一图片进行图像处理的操作能够达到同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及在移动端中的图片能够兼容的技术效果。进而解决了现有技术中存在的无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,在部分移动端中的图片不可兼容的技术问题。
77.此外,参考图1所示,根据本实施例的第二个方面,提供了一种存储介质。所述存储介质包括存储的程序,其中,在所述程序运行时由处理器执行以上任意一项所述的方法。
78.从而通过本实施例的技术方案,用户通过在终端设备100上输入第一图片和目标参数值并由终端设备100确定第一图片以及目标参数值,并根据目标参数值对第一图片进
行图像处理的操作能够达到同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及在移动端中的图片能够兼容的技术效果。进而解决了现有技术中存在的无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,在部分移动端中的图片不可兼容的技术问题。
79.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
80.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
81.实施例2
82.图6示出了根据本实施例所述的压缩图片的装置600,该装置600与根据实施例1的第一个方面所述的方法相对应。参考图6所示,该装置600包括:确定模块610,用于确定待压缩的第一图片以及目标参数值,其中目标参数值为经压缩后的第一图片的最大限制图片参数值;处理模块620,用于对第一图片进行图像处理;以及生成模块630,用于生成与目标参数值对应的第二图片。
83.可选地,确定模块610,用于确定待压缩的第一图片以及目标参数值,其中目标参数值为经压缩后的第一图片的最大限制图片参数值包括:解析模块,用于获取第一图片的原始参数值,其中原始参数值为第一图片的图片信息值;以及第一处理子模块,用于确定目标参数值,并根据目标参数值对第一图片进行图像处理。
84.可选地,处理模块620,用于对第一图片进行图像处理包括:比对模块,用于将原始参数值与目标参数值进行比对;以及第二处理子模块,用于在原始参数值与目标参数值不同的情况下,对第一图片进行图像处理,生成第二图片。
85.可选地,该装置600还包括:配置模块,用于在第一图片是image类型的情况下,根据目标参数值配置初始化canvas画板,其中第一图片设置于canvas画板之上。
86.可选地,第一处理子模块,包括:第一设定模块,用于设定对第一图片进行压缩的最大存储量值、最大宽度值、最大高度值和最大宽高比;以及旋转模块,用于在第一图片与设置有第一图片的canvas画板的位置不同的情况下,对设置有第一图片的canvas画板进行旋转处理,生成第二图片。
87.可选地,比对模块,包括:第一判断模块,用于在第一图片的宽度值大于目标参数值设定的最大宽度值和/或第一图片的高度值大于目标参数值设定的最大高度值的情况下,判断第一图片的宽高比是否大于目标参数值设定的最大宽高比;以及设置模块,用于在第一图片的宽度值小于目标参数值设定的最大宽度值和/或第一图片的高度值小于目标参数值设定的最大高度值的情况下,根据第一图片设定的宽度值与高度值设置canvas画板尺
寸。
88.可选地,比对模块,还包括:第二设定模块,用于在第一图片的宽高比大于目标参数值设定的最大宽高比的情况下,将目标参数值设定的最大宽度值作为第二图片的宽度值并且将目标参数值设定的最大宽度值与第一图片的宽高比的乘积作为第二图片的高度值;以及第三设定模块,用于在第一图片的宽高比小于目标参数值设定的最大宽高比的情况下,将目标参数值设定的最大高度值作为第二图片的高度值并且将目标参数值设定的最大高度值与第一图片的宽高比的乘积作为第二图片的宽度值。
89.可选地,该装置600还包括:第四设定模块,用于在确定预生成的第二图片的宽度值和高度值的情况下,根据预生成的第二图片的宽度值和高度值设置canvas画板尺寸。
90.可选地,配置模块,包括:旋转子模块,用于在设置有第一图片的canvas画板需要进行角度纠正的情况下,旋转设置有第一图片的canvas画板并执行压缩处理操作。
91.可选地,该装置600还包括:第二判断模块,用于判断第二图片的预定输出格式是否为blob类型;以及第三判断模块,用于在第二图片的预定输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法。
92.可选地,第三判断模块,包括:第一输出模块,用于在第二图片的预定输出格式不是blob类型的情况下,输出第二图片;以及第二输出模块,用于在第二图片的预定输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法。
93.可选地,第二输出模块,包括:第三输出模块,用于在第二图片所处的环境不存在toblob方法的情况下,自定义toblob方法并输出第二图片;以及第四输出模块,用于在第二图片所处的环境存在toblob方法的情况下,输出第二图片。
94.从而通过本实施例的技术方案,用户通过在终端设备100上输入第一图片和目标参数值并由终端设备100确定第一图片以及目标参数值,并根据目标参数值对第一图片进行图像处理的操作能够达到同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及在移动端中的图片能够兼容的技术效果。进而解决了现有技术中存在的无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,在部分移动端中的图片不可兼容的技术问题。
95.实施例3
96.图7示出了根据本实施例所述的图片压缩装置700,该装置700与根据实施例1的第一个方面所述的方法相对应。参考图7所示,该装置700包括:处理器710;以及存储器720,与处理器710连接,用于为处理器710提供处理以下处理步骤的指令:确定待压缩的第一图片以及目标参数值,其中目标参数值为经压缩后的第一图片的最大限制图片参数值;对第一图片进行图像处理;以及生成与目标参数值对应的第二图片。
97.可选地,确定待压缩的第一图片以及目标参数值,其中目标参数值为经压缩后的第一图片的最大限制图片参数值的操作包括:解析第一图片,获取第一图片的原始参数值,其中原始参数值为第一图片的图片信息值;以及确定目标参数值,并根据目标参数值对第一图片进行图像处理。
98.可选地,对第一图片进行图像处理的操作包括:将原始参数值与目标参数值进行比对;以及在原始参数值与目标参数值不同的情况下,对第一图片进行图像处理,生成第二图片。
99.可选地,还包括:在第一图片是image类型的情况下,根据目标参数值配置初始化canvas画板,其中第一图片设置于canvas画板之上。
100.可选地,设定目标参数值,并根据目标参数值对第一图片进行图像处理的操作包括:设定对第一图片进行压缩的最大存储量值、最大宽度值、最大高度值和最大宽高比;以及在第一图片与设置有第一图片的canvas画板的位置不同的情况下,对设置有第一图片的canvas画板进行旋转处理,生成第二图片。
101.可选地,将原始参数值与目标参数值进行比对的操作包括:在第一图片的宽度值大于目标参数值设定的最大宽度值和/或第一图片的高度值大于目标参数值设定的最大高度值的情况下,判断第一图片的宽高比是否大于目标参数值设定的最大宽高比;以及在第一图片的宽度值小于目标参数值设定的最大宽度值和/或第一图片的高度值小于目标参数值设定的最大高度值的情况下,根据第一图片设定的宽度值与高度值设置canvas画板尺寸。
102.可选地,将原始参数值与目标参数值进行比对的操作还包括:在第一图片的宽高比大于目标参数值设定的最大宽高比的情况下,将目标参数值设定的最大宽度值作为第二图片的宽度值并且将目标参数值设定的最大宽度值与第一图片的宽高比的乘积作为第二图片的高度值;以及在第一图片的宽高比小于目标参数值设定的最大宽高比的情况下,将目标参数值设定的最大高度值作为第二图片的高度值并且将目标参数值设定的最大高度值与第一图片的宽高比的乘积作为所述第二图片的宽度值。
103.可选地,还包括:在确定预生成的第二图片的宽度值和高度值的情况下,根据预生成的第二图片的宽度值和高度值设置canvas画板尺寸。
104.可选地,在第一图片与canvas画板的位置不同的情况下,对canvas画板进行旋转处理,生成第二图片的操作包括:在设置有第一图片的canvas画板需要进行角度纠正的情况下,旋转设置有第一图片的canvas画板并执行压缩处理操作。
105.可选地,还包括:判断第二图片的预定输出格式是否为blob类型;以及在第二图片的预定输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法。
106.可选地,判断第二图片的输出格式是否为blob类型的操作包括:在第二图片的预定输出格式不是blob类型的情况下,输出第二图片;以及在第二图片的预定输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法。
107.可选地,在第二图片的预定输出格式是blob类型的情况下,判断第二图片所处的环境是否存在toblob方法的操作包括:在第二图片所处的环境不存在toblob方法的情况下,自定义toblob方法并输出所述第二图片;以及在第二图片所处的环境存在toblob方法的情况下,输出所述第二图片。
108.从而通过本实施例的技术方案,用户通过在终端设备100上输入第一图片和目标参数值并由终端设备100确定第一图片以及目标参数值,并根据目标参数值对第一图片进行图像处理的操作能够达到同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,以及在移动端中的图片能够兼容的技术效果。进而解决了现有技术中存在的无法同时满足根据设定参数压缩图片、控制图片尺寸和保证图片清晰度的要求,在部分移动端中的图片不可兼容的技术问题。
109.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
110.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
111.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
112.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
113.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
114.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
115.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。