掌桥专利:专业的专利平台
掌桥专利
首页

图片处理方法、装置、电子设备及存储介质

文献发布时间:2023-06-19 09:30:39


图片处理方法、装置、电子设备及存储介质

技术领域

本发明涉及软件开发技术领域,具体涉及图片处理方法、装置、电子设备及存储介质。

背景技术

图片在每个App中都会用到,一个按钮的图片,一个页面的背景,都是一张图片,只是图片格式可能不同。随着App的开发迭代,不同功能可能会用到同一张图片,可能出现多个目标对象均对应有相同的图片,但开发人员不了解其他人开发的模块。这样就会导致图片库中的图片冗余,进而导致后续基于该图片库形成的APP图片包体积的增加。

发明内容

有鉴于此,本发明实施例提供了一种图片处理方法、装置、电子设备及存储介质,以解决由于图片库中的图片冗余所导致的APP图片包体积增加的问题。

根据第一方面,本发明实施例提供了一种图片处理方法,所述方法包括:

获取目标对象的标识以及与所述目标对象的标识对应的待处理图片;

判断图片库中是否存在与所述待处理图片相同的图片;

当所述图片库中存在与所述待处理图片相同的图片时,创建所述目标对象的标识与所述图片的映射关系,以得到目标映射关系。

本发明实施例提供的图片处理方法,在获取到目标对象的标识对应的待处理图片之后,将待处理图片与图片库中的图片进行比较,当图片库中存在与待处理图片相同的图片时,将目标图像的标识映射至图片库中的相应图片,从而就建立了目标对象的标识与图片库中图片的映射关系,而不需要在图片库中存储相同的图片,避免将目标对象与图片一对一设置减少了冗余图片,后续利用图片库进行图片资源处理时可以降低APP包体积。

结合第一方面,在第一方面第一实施方式中,所述方法还包括:

当所述图片库中不存在与所述待处理图片相同的图片时,保存所述待处理图片并创建所述目标对象的标识与所述待处理图片的映射关系,以得到目标映射关系。

本发明实施例提供的图片处理方法,在图片库中不存在与目标图片相同的图片时,再保存待处理图片并新建目标对象的标识与待处理图片的映射关系,以确定待处理图像属于哪个目标对象。

结合第一方面,或第一方面第一实施方式,在第一方面第二实施方式中,所述方法还包括:

基于所述目标映射关系在所述图片库中进行图片的处理。

本实施例提供的图片处理方法,在形成目标映射关系之后,后续在接收到外界请求图片库中的图片时,就可以利用目标映射关系快速地确定出相应的图片;且需要对图片库中的图片进行管理时,也可以基于该目标映射关系,准确地定位相应到的图片及其关联的目标对象,从而保证了相应操作的准确性。

结合第一方面第二实施方式,在第一方面第三实施方式中,所述基于所述目标映射关系在所述图片库中进行图片的处理,还包括:

统计所述图片库中各个图片的使用次数;

将所述使用次数不满足预设条件的图片标记为废弃图片;

将所述废弃图片上传至公共服务端,得到所述废弃图片的图片提取地址;

在所述图片库中删除所述废弃图片并保存所述废弃图片的图片提取地址。

本发明实施例提供的图片处理方法,通过统计各个图片的使用次数,将使用次数不满足预设条件的图片上传至公共服务端,并在图片库中删除该图片并存储该图片的图片提取地址,对于使用率较低的图片,在图片库中并不进行实际图片的存储,减少了图片库中使用率较低的图片,从而可以减少图片库中的冗余图片,后续在对图片库进行资源处理时,可以相应地减少请求图片资源的APP包体积。

结合第一方面第二实施方式或第三实施方式,在第一方面第四实施方式中,所述基于所述目标映射关系对所述图片库进行图片处理,包括:

接收图片资源请求方发送的图片资源请求信息,所述图片资源请求信息中携带有待处理对象的标识;

基于所述待处理对象的标识以及所述目标映射关系,在确定所述待处理对象对应的图片信息;

将确定出的图片信息反馈给所述图片资源请求方。

本发明实施例提供的图片处理方法,在接收到图片资源请求信息之后,利用目标映射关系以及待处理对象的标识,就能够在图片库中快速地确定出待处理对象的图片资源信息,提高了图片资源处理的效率。

结合第一方面第四实施方式,在第一方面第五实施方式中,所述基于所述待处理对象的标识以及所述目标映射关系,确定所述待处理对象对应的图片信息,包括:

利用所述待处理对象的标识以及所述目标映射关系,确定所述待处理对象对应的目标图片;

判断所述目标图片中是否存在废弃图片,所述废弃图片为使用次数不满足预设条件的图片;

当所述目标图片中存在废弃图片时,将所述目标图片中废弃图片的图片提取地址以及所述目标图片中的其他图片确定为所述待处理对象对应的图片信息。

本发明实施例提供的图片处理方法,废弃图片的使用次数不满足预设条件,就可以认为废弃图片的使用率较低,对于使用率较低的图片仅将其图片提取地址发送给图片资源请求方,后续图片资源请求方在利用图片资源信息所形成的图片包中仅有废弃图片的图片提取地址而并没有废弃图片的图片,减少了APP包体积。

结合第一方面第二实施方式,在第一方面第六实施方式中,所述基于所述目标映射关系在所述图片库中进行图片的处理,还包括:

接收对至少两个待合并对象的合并请求,所述合并请求中携带有所述至少两个待合并对象的标识并将所述至少两个待合并对象划分为源对象以及目标对象;

基于所述至少两个待合并对象的标识以及所述目标映射关系,将所述源对象对应的映射关系合并至所述目标对象对应的映射关系中,以更新所述目标映射关系。

本发明实施例提供的图片处理方法,在至少两个待合并对象进行合并之后,在图片库中需要进行对应的映射关系的合并,能够实现目标映射关系的实时更新,提高了后续在图片库中进行图片资源处理的准确性。

结合第一方面,在第一方面第七实施方式中,所述判断图片库中是否存在与所述待处理图片相同的图片,包括:

按照预设规则对所述待处理图片进行命名;

查询所述图片库,判断是否存在名称相同的图片;

当不存在名称相同的图片时,判断是否存在内容相同的图片。

本发明实施例提供的图片处理方法,按照预设规则对待处理图片进行命名,以保证图片名称的唯一,只有在名称唯一的情况下再进行内容相同的判断,以保证判断结果的可靠性。

根据第二方面,本发明实施例还提供了一种图片处理方法,所述方法包括:

获取目标应用软件对应的待处理对象的标识;

基于所述待处理对象的标识,发送图片资源请求信息,所述图片资源请求信息中携带有所述待处理对象的标识;

接收基于所述待处理对象的标识反馈的图片信息,所述图片信息是在图片库中基于所述待处理对象的标识与其对应的图片的映射关系确定的,所述图片库中的图片均是唯一的;

基于所述图片信息形成所述目标应用软件的图片资源包。

本发明实施例提供的图片处理方法,由于图片库中的图片是唯一的,从而就能够保证本地所接收到的图片信息中图片的唯一性,减少了图片冗余,从而减少了基于该图片信息形成的图片资源包的包体积。

根据第三方面,本发明实施例还提供了一种图片处理装置,所述装置包括:

第一获取模块,用于获取目标对象的标识以及与所述目标对象的标识对应的待处理图片;

判断模块,用于判断图片库中是否存在与所述待处理图片相同的图片;

创建模块,用于当所述图片库中存在与所述待处理图片相同的图片时,创建所述目标对象的标识与所述图片的映射关系,以得到目标映射关系。

本发明实施例提供的图片处理装置,在获取到目标对象的标识对应的待处理图片之后,将待处理图片与图片库中的图片进行比较,当图片库中存在与待处理图片相同的图片时,将目标图像的标识映射至图片库中的相应图片,从而就建立了目标对象的标识与图片库中图片的映射关系,而不需要在图片库中存储相同的图片,避免将目标对象与图片一对一设置减少了冗余图片,后续利用图片库进行图片资源处理时可以降低APP包体积。

根据第四方面,本发明实施例还提供了一种图片处理装置,所述装置包括:

第二获取模块,用于获取目标应用软件对应的待处理对象的标识;

发送模块,用于基于所述待处理对象的标识,发送图片资源请求信息,所述图片资源请求信息中携带有所述待处理对象的标识;

接收模块,用于接收基于所述待处理对象的标识反馈的图片资源信息,所述图片资源信息是基于所述待处理对象的标识与其对应的图片的映射关系确定的;

形成模块,用于基于所述图片资源信息形成所述目标应用软件的图片资源包。

本发明实施例提供的图片处理装置,由于图片库中的图片是唯一的,从而就能够保证本地所接收到的图片信息中图片的唯一性,减少了图片冗余,从而减少了基于该图片信息形成的图片资源包的包体积。

根据第五方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的图片处理方法,或执行第二方面中所述的图片处理方法。

根据第六方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的图片处理方法,或执行第二方面中所述的图片处理方法。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的图片处理方法的流程图;

图2是根据本发明实施例的图片处理方法的流程图;

图3是根据本发明实施例的图片处理方法的流程图;

图4是根据本发明实施例的图片处理方法的流程图;

图5是根据本发明实施例的IOS系统的图片处理方法的示意图;

图6是根据本发明实施例的安卓系统的图片处理方法的示意图;

图7是根据本发明实施例的图片处理装置的结构框图;

图8是根据本发明实施例的图片处理装置的结构框图;

图9是本发明实施例提供的电子设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,本发明实施例中所述的图片处理方法可以应用在目标应用软件的开发过程中,也可以应用目标应用软件的使用过程中等等,在此对图片处理方法的具体应用场景并不做任何限制。

此外,本发明实施例中所述的目标对象以及待处理对象,可以是目标应用软件对应的某个组件、某个分支或版本号等等,在此并不做任何特指。例如,目标应用软件根据开发功能的划分,可以分为多个组件,每个组件中有会存在若干分支。

同时,在本实施例中通过将目标应用软件的各个组件,或各个分支或版本号所涉及到的图片存储在图片库中,以供该目标应用软件的各个研发人员所共享。例如,图片库可以设置在内网的服务器上,各个研发人员在开发相应的组件或分支时,将其涉及到的图片均上传至该内网的服务器中,利用内网的服务器实现对图片的统一管理,具体在接收到一个新的图片时,先判断新的图片是否跟图片库中的某张图片相同,若相同则就不需要保存新的图片了,避免了图片冗余的问题。

为下文描述方便,在此对下文中涉及的术语解释如下:

分支(branch):在App程序开发中,针对某一个需求,会基于不同的代码副本进行代码的增加,这个副本就成为一个分支。

组件:在App中,不同的功能一般会在不同的工程中进行开发,单独设计的一个工程,称为一个组件。

图片组件:即单独存放图片资源的组件。

云端管理:对于已经废弃的图片,会在本地的资源包中删除,但是会在公共的文件存储中保留,并记录可以访问到图片的地址,这种管理方式称为云端管理。

推送(push)代码:在App程序开发中,本地编写完成的代码,会保存到指定的公共服务器上,将代码由本地放到公共服务器的指定位置的过程,称为push代码。

检出(checkout):将代码从服务器获取下来。

git hook:当公共服务器上收到push代码或者其他的类似请求时,可以触发的调用指定接口的能力,称为git hook。

commit信息:在App程序开发中,本地编写完成的代码,提交到本地的git管理仓库,称为commit,在提交时输入的信息,称为commit信息。

json文件:指的是固定的key-value格式组织数据信息的文件。

url:统一资源定位符(本文中指的是云端管理的图片的访问路径)。

groupid:App由在同一分组下的多个组件构成,groupid即这个分组的id。

根据本发明实施例,提供了一种图片处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本实施例中提供了一种图片处理方法,可用于电子设备,如软件开发的内网服务器、电脑等,图1是根据本发明实施例的图片处理方法的流程图,如图1所示,该流程包括如下步骤:

S11,获取目标对象的标识以及与目标对象的标识对应的待处理图片。

如上文所述,所述的目标对象不限于是组件、分支或者版本号,在本实施例中以目标对象是分支为例进行描述。

目标对象的标识是用于对各个对象进行区分,也可以认为是各个对象唯一的标识,其可以采用目标对象的名称表示,也可以采用与目标对象一一对应的标号表示等等,在此对目标对象的标识的具体表现形式并不做任何限定。

具体地,在目标应用软件的开发过程中,新建了某组件的分支,该分支又对应有至少一个待处理图片。那么,对于软件开发的内网服务器而言,其获取到新建分支的标识以及与其对应的至少一个待处理图片。此处所述的软件开发的内网服务器是用于图像管理的,因此也可以将其称之为图片管理系统。为下文描述方便,在下文中均以图片管理系统进行。

在此处需要说明的是,目标对象的标识对应的待处理图片为后续目标应用软件在运行时需要调用该分支,该分支所涉及到的图片即为此处的待处理图片。在目标应用软件开发过程中,研发人员将目标对象的标识对应的待处理图片上传至图片管理系统;或者,在对目标应用软件更新过程中,研发人员也可以将更新后的目标对象的标识对应的待处理图片上传至图片管理系统中。因此,此处上传待处理图片的时机并不限于研发过程中,也可以是在软件更新过程中等等。

S12,判断图片库中是否存在与待处理图片相同的图片。

图片管理系统在获取到待处理图片之后,将其与图片库中的图片进行比较,确定在图片库中是否存在与待处理图片相同的图片。所述的相同可以内容完全相同,例如,可以将待处理图片的MD5与图片库中各个图片的MD5进行比较,以确定内容是否相同。进一步地,还可以将待处理图片与图片库中的各个图片进行名称的比较,以确定是否存在相同名称的图片,若图片库中存在与待处理图片的名称相同的图片,则就需要对待处理图片的名称进行修改等等。

当图片库中存在与待处理图片相同的图片时,执行S13;否则,执行其他操作。所述的其他操作可以是保存待处理图片并创建待处理图片与目标对象的标识的对应关系;或者,也可以是先存储该待处理图片,待属于该目标对象的所有图片全部确定之后,再建立这些图片与目标对象的对应关系等等。

S13,创建目标对象的标识与图片的映射关系,以得到目标映射关系。

图片管理系统在确定出图片库中已经存在与待处理图片相同的图片时,创建目标对象的标识与该相同的图片的映射关系,以得到目标映射关系。例如,待处理图片与图片库中的图片A相同,图片A之前已经与分支B建立了映射关系,那么此时将待处理对象的标识(例如分支C)也与图片A建立映射关系,相应地待处理图片就可以从图片管理系统中删除。

所述的目标映射关系是用于表示图片与目标对象的标识之间的对应关系,例如,对应于一个目标应用软件,在图片管理系统中存储有对应的目标映射关系,该目标映射关系可以采用树状图的形式表示,该树状图的根节点为目标应用软件,根节点的子节点为目标应用软件的各个组件的标识,各个子节点的子节点为对应于各个组件的分支的标识,在树状图建立完成之后,就可以将树状图中的各个节点与图片库中的各个图片建立映射关系,从而得到目标映射关系。

或者,也可以是在图片库中按照一定的规则对各个图片进行排序,在将与图片存在对应关系的目标对象的标识对应标注在各个图片后,例如采用数据库的形式表示,从而得到所述的目标映射关系。

当然,目标映射关系也可以采用其他形式表示,并不限于上文所述的两种形式,具体可以根据实际情况进行相应的设置。

本实施例提供的图片处理方法,在获取到目标对象的标识对应的待处理图片之后,将待处理图片与图片库中的图片进行比较,当图片库中存在与待处理图片相同的图片时,将目标图像的标识映射至图片库中的相应图片,从而就建立了目标对象的标识与图片库中图片的映射关系,而不需要在图片库中存储相同的图片,避免将目标对象与图片一对一设置减少了冗余图片,后续利用图片库进行图片资源处理时可以降低APP包体积。

在本实施例中提供了一种图片处理方法,可用于电子设备,如软件开发的内网服务器、电脑等,图2是根据本发明实施例的图片处理方法的流程图,如图2所示,该流程包括如下步骤:

S21,获取目标对象的标识以及与目标对象的标识对应的待处理图片。

详细请参见图1所示实施例的S11,在此不再赘述。

S22,判断图片库中是否存在与待处理图片相同的图片。

当图片库中存在与待处理图片相同的图片时,执行S23;否则,执行S24。

其余详细请参见图1所示实施例的S12,在此不再赘述。

S23,创建目标对象的标识与图片的映射关系,以得到目标映射关系。

详细请参见图1所示实施例的S13,在此不再赘述。

S24,保存待处理图片并创建目标对象的标识与待处理图片的映射关系,以得到目标映射关系。

在图片管理系统确定出图片库中不存在与待处理图片相同的图片时,表示之前并没有任何组件或分支涉及到该待处理图片。图片管理系统保存该待处理图片,并创建待处理图片与目标对象的标识的映射关系,以得到目标映射关系。

在软件开发过程中,图片管理系统一直在判断新增的图片是否与当前图片库中已有的图片相同,不断地在完善所述目标映射关系。

S25,基于目标映射关系在图片库中进行图片的处理。

在目标映射关系建立之后,图片管理系统就可以基于该映射关系在图片库中进行图片的处理,例如,响应于外界对图片库中图片的请求操作,或者,统计图片库中图片的使用次数,以确定图片库中的图片是否为废弃图片,等等,具体所进行的处理可以根据实际情况进行相应的设置。

在本实施例中,以图片管理系统响应图片的请求为例进行描述。具体地,上述S25包括如下步骤:

S251,接收图片资源请求方发送的图片资源请求信息。

其中,所述图片资源请求信息中携带有待处理对象的标识。

在目标应用软件的各个组件或各个分支开发完成之后,需要对各个分支或组件所涉及到的图片进行打包,得到目标应用软件安装文件的图片包,以保证后续目标应用软件的正常安装。由于各个组件或各个分支所涉及到的图片是存储在图片库中的,若要形成目标应用软件安装文件的图片包,则就需要从图片管理系统中下载相应的图片并打包至图片包中。

相应地,图片管理系统就会接收到图片资源请求发发送的图片资源请求信息,在该图片资源请求信息中携带有待处理对象的标识,所述的待处理对象为目标应用软件中的某个组件,或某个分支或版本号。

S252,基于待处理对象的标识以及目标映射关系,在确定待处理对象对应的图片信息。

图片管理系统在接收到待处理对象的标识之后,利用待处理对象的标识查询目标映射关系,从而就可以确定出待处理对象对应的图片信息。所述的图片信息可以是图片,也可以是图片对应的图片提取地址,例如,统一资源定位系统(Unicom Resource Locator,简称为URL)等等。当然,所述的图片提取地址也可以采用其他形式表示,并不限于上文所述的URL。

具体地,上述S252可以包括如下步骤:

(1)利用待处理对象的标识以及目标映射关系,确定待处理对象对应的目标图片。

如上文所述,目标映射关系可以表示图片与各个组件或分支或版本号的标识的对应关系,在目标映射关系中,可以用图片的名称代表图片。因此,图片管理系统利用待处理对象的标识查询目标映射关系,就可以确定出待处理对象对应的目标图片,例如,目标图片的名称。

(2)判断目标图片中是否存在废弃图片。

其中,所述废弃图片为使用次数不满足预设条件的图片。

图片管理系统可以对图片库中的各个图片进行标记,以表示其是否是废弃图片。对于废弃图片的标记可以将是判断图片的使用此时是否满足预设条件,所述的预设条件可以为预设时长内使用次数的阈值。当某图片的使用次数不满足预设条件时,该图片即被图片管理系统标记为废弃图片。

图片管理系统在确定出待处理对象对应的目标图片之后,依次判读各个目标图片是否为废弃图片,当目标图片中存在废弃图片时,执行步骤(3);否则,执行步骤(4)。

(3)将目标图片中废弃图片的图片提取地址以及目标图片中的其他图片确定为待处理对象对应的图片信息。

在图片管理系统的图片库中,对于废弃图片存储的是图片名称及其对应的图片提取地址,而不存储实际的图片,以进一步减小图片库的大小。那么,图片管理系统在确定出目标图片中存在废弃图片之后,就可以得到废弃图片的图片提取地址以及目标图片中的其他图片,将这些作为待处理对象对应的图片信息。

例如,待处理对象对应的目标图片为图片A、图片B以及图片C,其中,图片B为废弃图片。那么,该待处理对象对应的图片信息就为图片A、图片C以及图片B的图片提取地址。

(4)将目标图片确定为待处理对象对应的图片信息。

当图片管理系统确定出目标图片中不存在废弃图片时,则将目标图片作为待处理对象对应的图片信息。

例如,待处理对象对应的目标图片为图片A、图片B以及图片C,图片A-图片C均不是废弃图片。那么,该待处理对象对应的图片信息就为图片A-图片C。

废弃图片的使用次数不满足预设条件,就可以认为废弃图片的使用率较低,对于使用率较低的图片仅将其图片提取地址发送给图片资源请求方,后续图片资源请求方在利用图片资源信息所形成的图片包中仅有废弃图片的图片提取地址而并没有废弃图片的图片,减少了APP包体积。

S253,将确定出的图片信息反馈给图片资源请求方。

如上文所述,图片管理系统确定出的图片信息分为两种情况,其一是,当目标图片中存在废弃图片时,对应的图片信息就为对应的废弃图片的图片提取地址以及目标图片中的其他图片;其二是,当目标图片中不存在废弃图片时,对应的图片信息就为目标图片。图片管理系统将确定出的图片信息反馈给图片资源请求方。

后续图片资源请求方利用接收到的图片信息形成目标应用软件的安装文件中的图片包,当某终端在运行该目标应用软件时,就可以从安装文件中的图片中提取相应的图片,若从图片包中提取不到图片,可以利用图片提取地址进行相应图片的提取,从而就能够实现图片包中图片资源不存在,还可以从URL里异步读取出图片并正常显示。

本实施例提供的图片处理方法,在形成目标映射关系之后,后续在接收到外界请求图片库中的图片时,就可以利用目标映射关系快速地确定出相应的图片;且需要对图片库中的图片进行管理时,也可以基于该目标映射关系,准确地定位相应到的图片及其关联的目标对象,从而保证了相应操作的准确性。

作为本实施例的一种可选实施方式,图片管理系统在目标应用软件的使用过程中,还实时统计各个图片的使用次数,以确定是否存在废弃图片。具体地,上述S25还可以包括如下步骤:

(1)统计图片库中各个图片的使用次数。

目标应用软件在读取图片的时候会进行使用埋点,当同一个图片使用多次,会在图片名称后面记录使用次数,这样每天按时将这些数据上传到图片管理系统来统计图片的使用次数。

(2)将使用次数不满足预设条件的图片标记为废弃图片。

若某个图片三个月或者半年都没有用过一次,基本可以说明图片已经废弃,那么,图片管理系统就将该图片标记为废弃图片。

(3)将废弃图片上传至公共服务端,得到废弃图片的图片提取地址。

对于已经标记为废弃图片的图片,图片管理系统会将该图片上传至公共服务端,并记录可以访问到该图片的地址,就可以得到废弃图片的图片提取地址,这种管理方式就可以成为云端管理。

(4)在图片库中删除废弃图片并保存废弃图片的图片提取地址。

图片管理系统还在本地的图片库中将标记为废弃图片的图片删除,同时保存废弃图片的图片提取地址。

通过统计各个图片的使用次数,将使用次数不满足预设条件的图片上传至公共服务端,并在图片库中删除该图片并存储该图片的图片提取地址,对于使用率较低的图片,在图片库中并不进行实际图片的存储,减少了图片库中使用率较低的图片,从而可以减少图片库中的冗余图片,后续在对图片库进行资源处理时,可以相应地减少请求图片资源的APP包体积。

本实施例提供的图片处理方法,采用图片管理系统管理图片资源以及维护图片与组件、分支或版本号的关联关系,图片资源请求方在打包的时候从图片管理系统中拉取最新图片资源,对标记为废弃的图片只保留图片的URL地址。在目标应用软件使用图片的时候,如果图片存在则直接从本地安装文件中的图片包中读取,若图片不存在,则从URL加载,客户端完成URL同步加载的技术实现,以及图片使用情况数据聚合,根据上传策略传给图片管理系统进行统计。图片管理系统对图片与组件的分支和版本号之间的绑定关系进行维护,有对图片资源的上传、删除、替换、云控的能力。

在本实施例中提供了一种图片处理方法,可用于电子设备,如软件开发的内网服务器、电脑等,图3是根据本发明实施例的图片处理方法的流程图,如图3所示,该流程包括如下步骤:

S31,获取目标对象的标识以及与目标对象的标识对应的待处理图片。

详细请参见图1所示实施例的S11,在此不再赘述。

S32,判断图片库中是否存在与待处理图片相同的图片。

具体地,上述S32包括如下步骤:

S321,按照预设规则对待处理图片进行命名。

例如,可以将图片按照字母数字下划线的规则命名,也可以采用其他规则进行命名等等。

S322,查询图片库,判断是否存在名称相同的图片。

当不存在名称相同的图片时,执行S323;否则,提示修改待处理图片的名称,再返回执行S322。

S323,判断是否存在内容相同的图片。

当图片库中存在与待处理图片相同的图片时,执行S33;否则,执行S34。

具体地,若在图片管理系统中存在同名图片则上传失败,系统会提示用户修改;若上传的图片和图片管理系统中存在图片的MD5一样但是名称不一样,图片管理系统就会提示用户使用已存在的图片名称。

其余详细请参见图2所示实施例的S22,在此不再赘述。

S33,创建目标对象的标识与图片的映射关系,以得到目标映射关系。

详细请参见图2所示实施例的S23,在此不再赘述。

S34,保存待处理图片并创建目标对象的标识与待处理图片的映射关系,以得到目标映射关系。

详细请参见图2所示实施例的S24,在此不再赘述。

S35,基于目标映射关系在图片库中进行图片的处理。

在本实施例中,以合并分支为例,对在图片库中进行图片的处理进行描述。具体地,上述S35包括如下步骤:

S351,接收对至少两个待合并对象的合并请求。

其中,所述合并请求中携带有至少两个待合并对象的标识并将至少两个待合并对象划分为源对象以及目标对象。

在目标应用软件的各个组件或各个分支开发完成之后,按照开发需求就要对相应的组件,或分支进行合并。在组件或分支的合并过程中,就会涉及到组件,或分支对应的图片的映射关系的合并。

相应地,图片管理系统就会接收到对至少两个待合并对象的合并请求。例如,需要对分支A以及分支B进行合并,并将分支A合并到分支B,那么,此时分支A即为源对象,分支B即为目标对象。

S352,基于至少两个待合并对象的标识以及目标映射关系,将源对象对应的映射关系合并至目标对象对应的映射关系中,以更新目标映射关系。

图片管理系统在接收到至少两个待合并对象的标识之后,利用目标映射关系确定各个待合并对象的标识对应的图片,那么图片管理系统就将源对象对应的图片合并至目标对象对应的映射关系中。

例如,分支A对应于图片A1、A2,分支B对应于图片B1、B2以及B3,当分支A合并至分支B中时,将分支A对应的图片A1以及A2合并至分支B对应的图片中,那么,合并之后的分支B对应的图片有图片A1、A2以及图片B1、B2以及B3。

图片管理系统在对待处理对象的映射关系进行合并之后,就可以实现对目标映射关系的更新,从而得到最新的目标映射关系。

在至少两个待合并对象进行合并之后,在图片库中需要进行对应的映射关系的合并,能够实现目标映射关系的实时更新,提高了后续在图片库中进行图片资源处理的准确性。

根据本发明实施例,提供了一种图片处理方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

在本实施例中提供了一种图片处理方法,可用于电子设备,如软件开发的电子设备等,图5是根据本发明实施例的图片处理方法的流程图,如图5所示,该流程包括如下步骤:

S41,获取目标应用软件对应的待处理对象的标识。

电子设备在目标应用软件的开发过程中,当需要提取某组件,或某分支对应的图片时,就需要获取到该待处理对象的标识,该标识可以是新增分支或新增组件的名称或标号等等。后续利用该标识就可以从图片资源管理系统中进行图片的获取。

S42,基于待处理对象的标识,发送图片资源请求信息。

其中,所述图片资源请求信息中携带有所述待处理对象的标识。

电子设备在获取到待处理对象的标识之后,利用待处理对象的标识向图片管理系统发送图片资源请求。该步骤与图2所示实施例的S25对应,详细请参见图2所示实施例的S25,在此不再赘述。

S43,接收基于待处理对象的标识反馈的图片信息。

所述图片信息是在图片库中基于所述待处理对象的标识与其对应的图片的映射关系确定的,所述图片库中的图片均是唯一的。

图片管理系统在利用待处理对象的标识确定出图片信息之后,将图片信息反馈给电子设备,相应地,电子设备就可以接收到图片管理系统基于待处理对象的标识反馈的图片信息。

S44,基于图片信息形成目标应用软件的图片资源包。

电子设备在上述S43中接收到图片信息之后,利用该图片信息形成目标应用软件的图片资源包。例如,电子设备将图片信息打包到模板应用软件的安装文件中的图片包中等等。

本实施例提供的图片处理方法,由于图片库中的图片是唯一的,从而就能够保证本地所接收到的图片信息中图片的唯一性,减少了图片冗余,从而减少了基于该图片信息形成的图片资源包的包体积。

在下文中分别以IOS系统,以及安卓系统的目标应用软件的开发为例进行详细。

图5示出了IOS系统对应的图片处理方法。在新建分支之后,图片管理系统接收到新建分支的标识及其对应的目标图片,图片管理系统将目标图片与已有的图片进行比较,确定是否存在与目标图片相同的图片。当存在时,直接建立新建分支的标识与该相同的图片的映射关系;当不存在时,保存该目标图片,并建立目标图片与新建的分支的标识的映射关系。

对于IOS开发者而言,当研发在feature分支push代码的时候,git hook用户的push动作,对commit信息进行规范化,记录提交人信息和当前分支名称,在分支合并的时候就可以根据分支名称来确定获取源分支名称。

开发完成需求之后,代码分支合并到develop分支,这时候就涉及到图片和feature分支映射关系同步到图片和develop分支映射关系。此时可以使用git hook方式,当用户push代码的时候,hook到这个动作,图片管理系统解析出源分支和目标分支,把图片的映射关系同步到develop分支,合并其他分支也是同样的逻辑。

当组件更新和发布的时候,把对象的目标分支的图片映射关系同步到更新或发布的版本号上,当APP拉去图片的时候,会使用组件名+版本号的方式去图片管理系统拉取图片。

APP打包的时候,打包脚本首先拉取最新代码,然后收集所依赖的所有组件名称和版本号或者组件分支名,脚本带着这些信息去图片管理系统请求图片资源,图片管理系统将对应的资源打包为zip返回给打包脚本,通过解压、导入到xcasset完成图片资源打包到APP安装包里。如果有些图片标记为分期,但是这些废弃图片还被某些组件关联着,图片管理系统会将这些图片放到一个json文件里,这个json文件会打包到安装包里,当APP偶然用到了这种图片,本地没有图片资源就会对应的json文件里解析,解析出来的是图片的URL地址。

图6示出了安卓系统对应的图片处理方法,该过程与图5所示的图片处理方法类似。其中,在图片管理系统中保存了APP-组件-分支-图片四者的对应关系,通过APP id就可以找到组件,通过组件和branch就可以找到所有的图片。

在本实施例中还提供了一种图片处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例提供一种图片处理装置,如图7所示,包括:

第一获取模块51,用于获取目标对象的标识以及与所述目标对象的标识对应的待处理图片;

判断模块52,用于判断图片库中是否存在与所述待处理图片相同的图片;

创建模块53,用于当所述图片库中存在与所述待处理图片相同的图片时,创建所述目标对象的标识与所述图片的映射关系,以得到目标映射关系。

本实施例提供的图片处理装置,在获取到目标对象的标识对应的待处理图片之后,将待处理图片与图片库中的图片进行比较,当图片库中存在与待处理图片相同的图片时,将目标图像的标识映射至图片库中的相应图片,从而就建立了目标对象的标识与图片库中图片的映射关系,而不需要在图片库中存储相同的图片,避免将目标对象与图片一对一设置减少了冗余图片,后续利用图片库进行图片资源处理时可以降低APP包体积。

本实施例提供一种图片处理装置,如图8所示,包括:

第二获取模块61,用于获取目标应用软件对应的待处理对象的标识;

发送模块62,用于基于所述待处理对象的标识,发送图片资源请求信息,所述图片资源请求信息中携带有所述待处理对象的标识;

接收模块63,用于接收基于所述待处理对象的标识反馈的图片资源信息,所述图片资源信息是基于所述待处理对象的标识与其对应的图片的映射关系确定的;

形成模块64,用于基于所述图片资源信息形成所述目标应用软件的图片资源包。

本实施例提供的图片处理装置,由于图片库中的图片是唯一的,从而就能够保证本地所接收到的图片信息中图片的唯一性,减少了图片冗余,从而减少了基于该图片信息形成的图片资源包的包体积。

本实施例中的图片处理装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

本发明实施例还提供一种电子设备,具有上述图7或8所示的图片处理装置。

请参阅图9,图9是本发明可选实施例提供的一种电子设备的结构示意图,如图9所示,该电子设备可以包括:至少一个处理器71,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口73,存储器74,至少一个通信总线72。其中,通信总线72用于实现这些组件之间的连接通信。其中,通信接口73可以包括显示屏(Display)、键盘(Keyboard),可选通信接口73还可以包括标准的有线接口、无线接口。存储器74可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器74可选的还可以是至少一个位于远离前述处理器71的存储装置。其中处理器71可以结合图7或8所描述的装置,存储器74中存储应用程序,且处理器71调用存储器74中存储的程序代码,以用于执行上述任一方法步骤。

其中,通信总线72可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器74可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器74还可以包括上述种类的存储器的组合。

其中,处理器71可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。

其中,处理器71还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:Application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。

可选地,存储器74还用于存储程序指令。处理器71可以调用程序指令,实现如本申请图1至4实施例中所示的图片处理方法。

本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的图片处理方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

相关技术
  • 图片的操作意图处理方法、推荐方法、装置、电子设备及存储介质
  • 一种图片处理方法、装置、电子设备及存储介质
技术分类

06120112190148