本发明实施例涉及互联网技术领域,尤其涉及图片处理方法、装置、电子设备及可读介质。
背景技术:
随着互联网技术的发展,页面展示效果也在不断优化。比如,在某些网页中显示很多小头像、缩略图等等。在网页中显示这些缩略图可以基于图片精灵(或者称为雪碧图)的方式实现。
在实际应用中,当有需要生成雪碧图的需求的时候,会在配置文件中指定需要使用的各个子图片。进而,基于这些子图片进行整体合并得到一张包含各类子图片的雪碧图。在需要展示的时候,会加载整张雪碧图,通过指定雪碧图的位置展示对应的子图片。然而,这样的合并方式即使得到的雪碧图不利于后续进行修改或调整。因此,需要一种能够便于对雪碧图进行修改维护的方案。
技术实现要素:
本发明实施例提供图片处理方法、装置、电子设备及可读介质,用以提高许必图的修改或维护的效率。
第一方面,本发明实施例提供一种图片处理方法,该方法包括:
获取对应不同图片层级目录的多个子图片的信息;
确定归属于相同所述图片层级目录的至少两个子图片;
对所述至少两个子图片进行合并处理,得到第一雪碧图;
保存所述至少两个子图片对应的图片层级目录;
将所述第一雪碧图添加到所述图片层级目录中。
可选地,所述获取对应不同图片层级目录的多个子图片的信息,具体包括:获取第一项目文件;
基于所述第一项目文件,遍历存在显示关联关系多个子图片的图片地址;
基于查找到的所述多个子图片的图片地址,获取所述多个子图片的信息。
可选地,还包括:若基于所述多个子图片的图片地址未查找到所述多个子图片的信息,则反馈提示信息;其中,所述提示信息包括:错误提示信息、修正图片地址提示信息和增加图片提示信息中至少一个。
可选地,所述保存多个子图片对应的图片层级目录,包括:
新建第二项目文件;
将所述多个子图片对应的所述图片层级目录保存在所述第二项目文件中。
可选地,新建第二项目文件之后,还包括:
获取所述第一雪碧图中所述多个子图片分别对应的坐标位置信息和尺寸信息;
将多个所述坐标位置信息和尺寸信息分别添加到所述第二项目文件。
可选地,还包括:
获取对任一子图片的修改请求;
基于所述修改请求中携带的任一子图片标识,确定对应的图片层级目录;
基于对所述图片层级目录的更新操作结果,对所述图片层级目录包含的第二雪碧图进行修改。
可选地,所述基于对所述图片层级目录的更新操作结果,对所述图片层级目录包含的第二雪碧图进行修改,包括:
更新操作结果为删除所述图片层级目录中的所述任一子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第三雪碧图;将所述第二雪碧图更新为所述第三雪碧图;
更新操作结果为在所述图片层级目录中添加新子图片时,对所述子图片和所述新子图片进行合并处理,得到第四雪碧图;将所述第二雪碧图更新为所述第四雪碧图。
第二方面,本发明实施例提供一种图片处理方法,该方法包括:
获取第二项目文件,所述第二项目文件中含有多个子图片分别对应的不同图片层级目录,所述图片层级目录包含还有至少两个子图片以及基于所述至少两个子图片生成的第一雪碧图;
响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理。
可选地,所述响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理,包括:所述更新操作为删除所述图片层级目录中的至少一个所述子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第二雪碧图;将所述第一雪碧图更新为所述第二雪碧图;或者,所述更新操作为在所述图片层级目录中添加至少一个新子图片时,对所述子图片和所述新子图片进行合并处理,得到第三雪碧图;将所述第一雪碧图更新为所述第三雪碧图。
第三方面,本发明实施例提供一种图片处理装置,该装置包括:
获取模块,用于获取对应不同图片层级目录的多个子图片的信息;
确定模块,用于确定归属于相同所述图片层级目录的至少两个子图片;
合并模块,用于对所述至少两个子图片进行合并处理,得到第一雪碧图;
保存模块,用于保存所述至少两个子图片对应的图片层级目录;
添加模块,用于将所述第一雪碧图添加到所述图片层级目录中。
第四方面,本发明实施例提供另一种图片处理装置,该装置包括:
获取模块,用于获取第二项目文件,所述第二项目文件中含有多个子图片分别对应的不同图片层级目录,所述图片层级目录包含还有至少两个子图片以及基于所述至少两个子图片生成的第一雪碧图;
处理模块,用于响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理。
第五方面,本发明实施例还提供一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现根据第一方面、第二方面所述的图片处理方法。
第六方面,本发明实施例还提供一种计算机可读介质,其上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现根据第一方面、第二方面所述的图片处理方法。
在本发明实施例中,在对图片进行处理过程中,获取到的子图片可能分别对应于不同图片层级目录。在对多个子图片进行合并处理时,将归属于相同图片层级目录的至少两个子图片进行合并,得到第一雪碧图;保存所述至少两个子图片对应的图片层级目录;将所述第一雪碧图添加到所述图片层级目录中。通过上述技术方案,在对多个子图片进行合并处理的时候,要先确定各子图片分别对应的图片层级目录,以便基于图片层级目录进行合并处理,将至少两个子图片对应的图片层级目录保存,进而将得到的第一雪碧图保存到图片层级目录中,这样在某个对子图片进行修改(比如增删)的时候,可以根据保存的图片层级目录实现,不会对图片层级目录进行更改,有利于后续对雪碧图的维护效率的提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a为本申请实施例提供的一种图片处理方法的流程示意图;
图1b为本申请实施例提供的一种回填第一雪碧图的结构示意图;
图2为本申请实施例提供的一种图片层级目录保存方法的流程示意图;
图3为本申请实施例提供的雪碧图修改方法的流程示意图;
图4为本申请实施例提供的另一种图片处理方法的流程示意图;
图5为本申请实施例提供的举例说明基于插件进行图片处理的流程示意图;
图6为本申请实施例提供的举例说明雪碧图合成过程的示意图;
图7为本申请实施例提供的一种图片处理装置的结构示意图;
图8为本申请实施例提供的另一种图片处理装置的结构示意图;
图9为与图7所述实施例提供的图片处理装置对应的电子设备的结构示意图;
图10为与图8所述实施例提供的另一种图片处理装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
随着互联网技术的发展,为了增强显示效果,在越来越多的网页中添加有各种图片或者图片类标识。为了减小浏览器向服务器请求图片的次数,可以将多个图片整合到一起生成一个雪碧图。在使用的时候,通过指定雪碧图中某个图片的位置来实现该图片的显示。这样,只需要一次请求就可以获得多个网页显示所需的图片了。容易理解的是,在收集子图片过程中或者在网页布局过程中,通常会根据图片类型进行分类并存储到不同文件夹中,或者,根据网页架构关系分别存储到不同文件夹中。当需要生成雪碧图的时候,会根据用户的指示,跨文件夹进行合成,也就是将多个文件夹中的子图片合并得到一张雪碧图,在使用的时候,通过指定雪碧图中子图片的位置就能够显示用户所需要的图片。通过这种方式虽然可以减少请求次数,但是却不利于雪碧图的更新维护,比如,想要增加一个新的子图片,则需要重新生成整个雪碧图,尤其是雪碧图当中包含有大量子图片的时候,整体重新合成的工作量比较大,工作效率低。因此,需要一种能够简单、高效、便捷对雪碧图进行维护的方案。
为了便于理解,下面具体举例说明图片处理方法。本方法的执行主体可以是服务器、本地计算机等具有图片处理能力的设备。如图1a为本申请实施例提供的一种图片处理方法的流程示意图。从图1a中可以看到具体包括如下步骤:
101:获取对应不同图片层级目录的多个子图片的信息。
102:确定归属于相同所述图片层级目录的至少两个子图片。
103:对所述至少两个子图片进行合并处理,得到第一雪碧图。
104:保存所述多个子图片对应的图片层级目录。
105:将所述第一雪碧图添加到所述图片层级目录中。
这里所说的图片层级目录,可以理解为,直接包含的子图片的文件夹。在一些应用场景中,可能包含多个文件夹层级,不同文件夹中的子图片对应的图片层级目录不同,例如,a文件夹中包含有a子图片,在b文件夹中包含有b子图片;那么,可以理解为a子图片对应的图片层级目录为a,b子图片对应的图片层级目录为b。那么在合并的时候,也是分别针对图片层级目录a和图片层级目录b进行子图片合并,不能跨越图片层级目录进行合并。此外,在有些文件夹中,可能同时包含有子图片和下一级文件夹。比如,一级图片层级目录中包含二级图片层级目录以及一些子图片;同时,在二级图片层级目录中还包含有子图片,在合并的时候仍然是不跨越图片层级目录进行合并。
如步骤101所述,在第一项目文件中,将子图片分别保存在不同的图片层级目录中,因此,在合并成雪碧图之前,需要对获取到的多个子图片的信息进行归属关系确定。根据子图片的信息(比如,子图片名称、子图片id等等表示子图片唯一性的标识),确定多个子图片分别对应的图片层级目录。在进行雪碧图生成的时候,根据确定的归属关系实现的,具体来说,将归属于相同图片层级目录至少两个子图片合并生成一个第一雪碧图。因此,当多个子图片分别归属于不同图片层级目录的时候,需要对多个子图片分别进行合并处理,得到多个雪碧图(包含第一雪碧图)。
这样得到的每个雪碧图不会跨越多个图片层级目录,而且每个雪碧图当中不会包含太多子图片。当需要对某个雪碧图进行修改的时候,可仅针对存在修改需求的那个图片层级目录进行修改,能够有效提高修改效率。此外,由于雪碧图当中包含的子图片的数量不是很多,即便执行重新合成操作,合成速度也是比较快的。
在本申请技术方案中,合并得到第一雪碧图之后,需要对提供子图片的图片层级目录进行保存,后续有需要对第一雪碧图或第一雪碧图中任一子图片进行修改的时候,可以基于图片层级目录找到对应的多个子图片并进行相应修改(比如,新增雪碧图中子图片、删减雪碧图中子图片)。对雪碧图的修改方式将在后续实施例中具体举例说明。
在通过上述步骤合并得到第一雪碧图后,将第一雪碧图回填到对应的图片层级目录。换言之,雪碧图中包含的子图片是来自于哪个图片层级目录,就将该雪碧图保存到同一图片层级目录中,这样有助于对子图片的管理和对雪碧图的修改。
为了便于理解,下面对合并得到第一雪碧图及其图片层级目录的结构进行举例说明。如图1b为本申请实施例提供的一种回填第一雪碧图的结构示意图。从图1b中可以看到,该图片层级目录包括image\sprite、子文件夹a、b、c。原本子文件中不包含第一雪碧图,通过利用上述方案对子图片进行合并并对得到的第一雪碧图进行回填后,可以看到,在每个子文件夹中分别包含5各个子图片以及一个对应的第一雪碧图。需要说明的是,图1b展示的子文件夹a、b、c相互并列关系,当然也可以是包含关系,即便是包含关系,在进行合并操作的时候也是基于各自子图片对应的文件夹执行,而不能跨越图片目录层级,例如,在另一实施例中,即使b文件夹同时包含多个子图片和a、c两个文件夹,b文件夹进行雪碧图合并的时候,不能包含a文件夹或者c文件夹中的子图片。
在本申请一个或者多个实施例中,准备网页所需图片素材的时候,通常会根据网页层级建立很多用于保存的文件夹。在合成雪碧图的时候,需要对子图片进行区分合并。具体来说包括:获取第一项目文件;基于所述第一项目文件,遍历存在显示关联关系多个子图片的图片地址;基于查找到的所述多个子图片的图片地址,获取所述多个子图片的信息。
这里所说的第一项目文件比如可以是css文件,在该第一项目文件中指定了需要合成的来自于不同图片层级目录中的多个子图片。在对子图片进行合成之前,需要对第一项目文件中指定的多个子图片进行遍历,对多个子图片按照归属关系进行分类,确定各个子图片分别对应的图片层级目录。
在第一项目文件中保存多个子图片的时候,可以将同一层级网页中的子图片保存到同一图片层级目录。例如,可以将同一网页中需要显示的子图片放置到同一图片层级目录中。因此,网页加载一张雪碧图就能够满足当前显示需求。这里所说的存在显示关联关系多个子图片可以理解为同一网页中的显示的多个子图片;也可以是在同一网页层级中的多个子图片;这些多个子图片在显示的时候需要关联显示。通过上述方案,可以在加载一次雪碧图的情况先满足网页的图片显示需求,又不会加载其他不需要的子图片,能够有效提高图片加载、显示效率。
需要说明的是,由于在css文件中包含的子图片的信息可能是发生过变动的。因此,在实际操作过程中,需要基于子图片的图片地址进行实际查找,若能查找到,则获取多个子图片的信息。若不能查找到多个子图片的信息,则需要反馈提示信息,以便相关人员尽快解决。例如,当没有查找到子图片的信息,则反馈错误提示信息给相关人员,这个错误信息可以包含子图片的信息;当没查找到子图片的信息,还可以反馈修正图片地址提示信息,由于子图片更改了存储地址,因此通过修改为正确地址后就能够查找到子图片;当没查找到子图片的信息的时候,还可能是因为缺少该子图片,那么可以提示用户及时补充该图片,或者在第一项目文件中删除对该子图片的需求。
如步骤104所述保存至少两个子图片对应的图片层级目录的方法可以参考图2。如图2为本申请实施例提供的一种图片层级目录保存方法的流程示意图。从图2中可以看到具体包括如下步骤:201:新建第二项目文件。202:将所述多个子图片对应的所述图片层级目录保存在所述第二项目文件中。
在第一项目文件中仅仅指定了需要用到哪些子图片,但是当合成子图片得到雪碧图之后,还需要对雪碧图进行保存。以及,为了便于后期对雪碧图的维护,还需要保存图片层级目录。具体来说,先新建一个第二项目文件,在经过对多个子图片的遍历确定分别对应的图片层级目录之后,将各图片层级目录保存到新建的第二项目文件当中。在后续使用雪碧图的时候,基于第二项目文件实现对雪碧图的使用和处理。
在本申请一个或者多个实施例中,在生成第二项目文件之后,还包括:获取所述第一雪碧图中所述多个子图片分别对应的坐标位置信息和尺寸信息;将多个所述坐标位置信息和尺寸信息分别添加到所述第二项目文件。
需要说明的是,在生成第一雪碧图之后,还需要提供各子图片在该第一雪碧图中的坐标位置信息、尺寸信息才能够正常使用。这里所说的尺寸信息可以是各子图片的宽高信息,在生成css文件的时候,需要准确标记处各个子图片的在第一雪碧图中的坐标位置和宽高,从而确保雪碧图中各个子图片能够正常显示。
此外,在生成第二项目文件之后,还包括:获取所述第一雪碧图在所述图片层级目录中的目录位置信息;将所述目录位置信息添加到所述第二项目文件中。为了便于对第一雪碧图的查找以及修改,在得到第一雪碧图之后,不仅要将第一雪碧图回填到对应的图片层级目录中,还需要将第一雪碧图对应的目录位置信息添加到第二项目文件中,以便能够在第二项目文件中快速查找到所需的第一雪碧图。在回填的时候,要确保第一雪碧图、目录位置信息、图片层级目录具有一一对应关系。
例如,合成得到第一雪碧图之后,可以知道该第一雪碧图当中包含有2个子图片。确定这2个子图片在第一雪碧图中的位置,比如第一子图片在第一雪碧图中的位置为第一坐标,第二子图片在第一雪碧图中的位置为第二坐标。将第一雪碧图回填到图片层级目录中的同时,还将第一子图片的第一坐标和第二子图片的第二坐标回填到图片层级目录中(一般是新建一个用于存储位置信息的文件)。在后续使用雪碧图的时候,可以直接获取到各个子图片的位置信息。即便后续对雪碧图进行修改,这些位置信息也是被保存在第二项目文件中的,能够有效提高雪碧图的使用效率和后续修改效率。
在本申请一个或者多个实施例中,得到雪碧图之后,还可以对雪碧图进行修改。如图3为本申请实施例提供的雪碧图修改方法的流程示意图。从图3中可以看到具体还包括:301:获取对任一子图片的修改请求。302:基于所述修改请求中携带的任一子图片标识,确定对应的图片层级目录。303:基于对所述图片层级目录的更新操作结果,对所述图片层级目录包含的第二雪碧图进行修改。
在实际应用中,当接收到对任一子图片的修改请求的时候,提取该请求中携带的任一子图片标识(这个标识可以是子图片的存储地址、名称、子图片id等等)。进而,基于子图片标识查找对应的图片层级目录。尤其是在一些场景中需要同时对多个子图片进行修改的时候,需要确定每个子图片分别对应的图片层级目录。进而,对图片层级目录进行更新操作,得到更新操作结果,以便基于图片层级目录的更新操作结果对第二雪碧图进行相应修改(比如,新增子图片或者删除子图片)。
在实际应用中,还可以明确针对哪个雪碧图进行修改。具体来说,在第二项目文件中,保存有各雪碧图对应的图片层级目录。当需要修改某个雪碧图的时候,根据雪碧图的名称查找到对应的图片层级目录。打开图片层级目录看到很多子图片,在该目录当中可以选择对某个子图片的删除,当然,也可以向目录中添加新的子图片。基于图片层级目录完成对子图片的修改之后生成新的雪碧图,并将该新雪碧图替换原来的第一雪碧图。
下面将分别对不同修改方式进行举例说明。具体来说:所述根据对图片层级目录的操作结果,对所述第一雪碧图进行修改,包括:若操作结果为删除所述图片层级目录中的至少一个所述子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第三雪碧图;将所述第一雪碧图更新为所述第三雪碧图。若操作结果为在所述图片层级目录中添加至少一个新子图片时,对所述子图片和所述新子图片进行合并处理,得到所述第四雪碧图;将所述第一雪碧图更新为第四雪碧图。如前文所述可知,在通过上述合并处理得到新的第三雪碧图或者第四雪碧图之后,由于对原子图片进行了变更,相应的原子图片的坐标位置信息可能会发生变动,因此,还需要将第三雪碧图或者第四雪碧图中各子图片对应的坐标位置信息和尺寸信息回填到第二项目文件中。
需要说明的是,在进行利用子图片合成得到雪碧图的时候,可以不将该图片层级目录中所有子图片都合并到该雪碧图当中。比如,图片层级目录中包含有20张子图片,可以只选择其中10张,其余10张可以选择删除,若后期还要使用,也可以保存在该图片层级目录中不做任何处理。
基于同样的思路,本申请实施例还提供一种图片处理方法。如图4为本申请实施例提供的另一种图片处理方法的流程示意图。从图4中可以看到包括如下步骤:
401:获取第二项目文件,所述第二项目文件中含有多个子图片分别对应的不同图片层级目录,所述图片层级目录包含还有至少两个子图片以及基于所述至少两个子图片生成的第一雪碧图。
402:响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理。
在第二项目文件中,保存有多个子图片对应的图片层级目录,此外,在该层级目录中,还存储以后基于多个子图片合成得到的第一雪碧图。当需要对第一雪碧图进行修改的时候,可以基于第二项目文件中保存的图片层级目录实现。具体来说,所述响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理,包括:所述更新操作为删除所述图片层级目录中的至少一个所述子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第二雪碧图;将所述第一雪碧图更新为所述第二雪碧图。或者,所述更新操作为在所述图片层级目录中添加至少一个新子图片时,对所述子图片和所述新子图片进行合并处理,得到第三雪碧图;将所述第一雪碧图更新为所述第三雪碧图。
为了便于理解,下面对雪碧图合成过程具体举例说明。
如图5为本申请实施例提供的举例说明基于自研插件进行图片处理的流程示意图。从图5中可以看到,roi-css-spirte任务中的具体内部结构包括一个名为cssspriteimage的类。该类主要有三个方法:分别是constructor方法,apply方法以及readcssfile方法。具体来说,constructor方法是一个进行内部初始设置的方法,基于准备好的第一项目文件以及各子图片、相关配置文件等实现初始化。在完成初始化操作之后,基于apply方法对第一项目文件(css文件)进行目录查找,apply方法内部主要是由readfilepathbydir方法实现的,该方法的目的是读取文件夹中的文件目录,逐个层级查询文件夹的路径,最后存贮在一个数组中并返回。readcssfile是用于对项目文件进行遍历,该方法首先通过记录本次任务已处理的图片目录,解决了之前的插件会破坏原有图片层级目录的问题,再分别对css文件继续进行遍历和处理,最重要是在这个方法中,还检查了每个声明并收集子图片路径,在每个块中找到新的子图片并验证其是否存在,最后生成文件并写入。
如图6为本申请实施例提供的举例说明雪碧图合成过程的示意图。在生成雪碧图之后,需要进行相关信息的回填,比如,回填雪碧图和位置信息。回填的过程主要通过apply方法中的readfilepathbydir实现。具体来说,这个方法用来读取子图片所在的图片层级目录,以及readcssfile方法完成了大部分功能,比如收集子图片路径等,这两个方法主要是完成了查询引用css文件的功能。
基于上述实施例,在对图片进行处理过程中,获取到的子图片可能分别对应于不同图片层级目录。在对多个子图片进行合并处理时,将归属于相同图片层级目录的至少两个子图片进行合并,得到第一雪碧图;保存所述至少两个子图片对应的图片层级目录;将所述第一雪碧图添加到所述图片层级目录中。通过上述技术方案,在对多个子图片进行合并处理的时候,要先确定各子图片对应的图片层级目录,以便基于图片层级目录进行合并处理,将至少两个子图片对应的图片层级目录保存,进而将得到的第一雪碧图保存到图片层级目录中,这样在某个对子图片进行修改(比如增删)的时候,可以根据保存的图片层级目录实现,不会对图片层级目录进行更改,有利于后续对雪碧图的维护效率的提升。
基于同样的思路,本申请实施例还提供一种图片处理装置。如图7为本申请实施例提供的一种图片处理装置的结构示意图。从图7中可以看到,该装置包括:
获取模块71,用于获取对应不同图片层级目录的多个子图片的信息。
确定模块72,用于确定归属于相同所述图片层级目录的至少两个子图片。
合并模块73,用于对所述至少两个子图片进行合并处理,得到第一雪碧图。
保存模块74,用于保存所述至少两个子图片对应的图片层级目录。
添加模块75,用于将所述第一雪碧图添加到所述图片层级目录中。
可选地,获取模块71,用于获取第一项目文件;基于所述第一项目文件,遍历存在显示关联关系多个子图片的图片地址;基于查找到的所述多个子图片的图片地址,获取所述多个子图片的信息。
可选地,获取模块71,还用于若基于所述多个子图片的图片地址未查找到所述多个子图片的信息,则反馈提示信息;其中,所述提示信息包括:错误提示信息、修正图片地址提示信息和增加图片提示信息中至少一个。
可选地,保存模块74,还用于新建第二项目文件;将所述多个子图片对应的所述图片层级目录保存在所述第二项目文件中。
可选地,保存模块74,还用于获取所述第一雪碧图中所述多个子图片分别对应的坐标位置信息和尺寸信息;将多个所述坐标位置信息和尺寸信息分别添加到所述第二项目文件。
可选地获取模块71,还用于获取对任一子图片的修改请求;
基于所述修改请求中携带的任一子图片标识,确定对应的图片层级目录;
基于对所述图片层级目录的更新操作结果,对所述图片层级目录包含的第二雪碧图进行修改。
可选地获取模块71,还用于更新操作结果为删除所述图片层级目录中的所述任一子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第三雪碧图;将所述第二雪碧图更新为所述第三雪碧图;
更新操作结果为在所述图片层级目录中添加新子图片时,对所述子图片和所述新子图片进行合并处理,得到第四雪碧图;将所述第二雪碧图更新为所述第四雪碧图。
基于同样的思路,本申请实施例还提供另一种图片处理装置。如图8为本申请实施例提供的另一种图片处理装置的结构示意图。从图8中可以看到,该装置包括:
获取模块81,用于获取第二项目文件,所述第二项目文件中含有多个子图片分别对应的不同图片层级目录,所述图片层级目录包含还有至少两个子图片以及基于所述至少两个子图片生成的第一雪碧图。
处理模块82,用于响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理。
可选地处理模块82,还用于所述更新操作为删除所述图片层级目录中的至少一个所述子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第二雪碧图;将所述第一雪碧图更新为所述第二雪碧图;或者,所述更新操作为在所述图片层级目录中添加至少一个新子图片时,对所述子图片和所述新子图片进行合并处理,得到第三雪碧图;将所述第一雪碧图更新为所述第三雪碧图。
在一个可能的设计中,上述图7所示的图片处理装置的结构可实现为一电子设备。如图9所示,该电子设备可以包括:处理器91、存储器92。其中,所述存储器92上存储有可执行代码,当所述可执行代码被所述处理器91执行时,至少使所述处理器91可以实现如前述实施例中提供的图片处理方法。其中,该电子设备的结构中还可以包括通信接口93,用于与其他设备或通信网络通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被无线路由器的处理器执行时,使所述处理器执行前述各实施例中提供的一种图片处理方法。
在一个可能的设计中,上述图8所示的另一种图片处理装置的结构可实现为一电子设备。如图10所示,该电子设备可以包括:处理器1001、存储器1002。其中,所述存储器1002上存储有可执行代码,当所述可执行代码被所述处理器1001执行时,至少使所述处理器1001可以实现如前述实施例中提供的图片处理方法。其中,该电子设备的结构中还可以包括通信接口1003,用于与其他设备或通信网络通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被无线路由器的处理器执行时,使所述处理器执行前述各实施例中提供的另一种图片处理方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的各个模块可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
1.一种图片处理方法,其特征在于,所述方法包括:
获取对应不同图片层级目录的多个子图片的信息;
确定归属于相同所述图片层级目录的至少两个子图片;
对所述至少两个子图片进行合并处理,得到第一雪碧图;
保存所述至少两个子图片对应的图片层级目录;
将所述第一雪碧图添加到所述图片层级目录中。
2.根据权利要求1所述的方法,其特征在于,所述获取对应不同图片层级目录的多个子图片的信息,具体包括:
获取第一项目文件;
基于所述第一项目文件,遍历存在显示关联关系多个子图片的图片地址;
基于查找到的所述多个子图片的图片地址,获取所述多个子图片的信息。
3.根据权利要求2所述的方法,其特征在于,还包括:
若基于所述多个子图片的图片地址未查找到所述多个子图片的信息,则反馈提示信息;其中,所述提示信息包括:错误提示信息、修正图片地址提示信息和增加图片提示信息中至少一个。
4.根据权利要求1所述的方法,其特征在于,所述保存多个子图片对应的图片层级目录,包括:
新建第二项目文件;
将所述多个子图片对应的所述图片层级目录保存在所述第二项目文件中。
5.根据权利要求4所述的方法,其特征在于,新建第二项目文件之后,还包括:
获取所述第一雪碧图中所述多个子图片分别对应的坐标位置信息和尺寸信息;
将多个所述坐标位置信息和尺寸信息分别添加到所述第二项目文件。
6.根据权利要求1所述的方法,其特征在于,还包括:
获取对任一子图片的修改请求;
基于所述修改请求中携带的任一子图片标识,确定对应的图片层级目录;
基于对所述图片层级目录的更新操作结果,对所述图片层级目录包含的第二雪碧图进行修改。
7.根据权利要求6所述的方法,其特征在于,所述基于对所述图片层级目录的更新操作结果,对所述图片层级目录包含的所述第二雪碧图进行修改,包括:
更新操作结果为删除所述图片层级目录中的所述任一子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第三雪碧图;将所述第二雪碧图更新为所述第三雪碧图;
更新操作结果为在所述图片层级目录中添加新子图片时,对所述子图片和所述新子图片进行合并处理,得到第四雪碧图;将所述第二雪碧图更新为所述第四雪碧图。
8.一种图片处理方法,其特征在于,所述方法包括:
获取第二项目文件,所述第二项目文件中含有多个子图片分别对应的不同图片层级目录,所述图片层级目录包含至少两个子图片以及基于所述至少两个子图片生成的第一雪碧图;
响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理。
9.根据权利要求8所述的方法,其特征在于,所述响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理,包括:
所述更新操作为删除所述图片层级目录中的至少一个所述子图片时,对所述图片层级目录中未删除的子图片进行合并处理,得到第二雪碧图;将所述第一雪碧图更新为所述第二雪碧图;或者,
所述更新操作为在所述图片层级目录中添加至少一个新子图片时,对所述子图片和所述新子图片进行合并处理,得到第三雪碧图;将所述第一雪碧图更新为所述第三雪碧图。
10.一种图片处理装置,其特征在于,所述装置包括:
获取模块,用于获取对应不同图片层级目录的多个子图片的信息;
确定模块,用于确定归属于相同所述图片层级目录的至少两个子图片;
合并模块,用于对所述至少两个子图片进行合并处理,得到第一雪碧图;
保存模块,用于保存所述至少两个子图片对应的图片层级目录;
添加模块,用于将所述第一雪碧图添加到所述图片层级目录中。
11.一种图片处理装置,其特征在于,所述装置包括:
获取模块,用于获取第二项目文件,所述第二项目文件中含有多个子图片分别对应的不同图片层级目录,所述图片层级目录包含还有至少两个子图片以及基于所述至少两个子图片生成的第一雪碧图;
处理模块,用于响应于对所述图片层级目录的更新操作,对所述图片层级目录中的所述第一雪碧图进行更新处理。
12.一种电子设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由所述处理器加载并执行以实现根据权利要求1至9中任一项所述的图片处理方法。
13.一种计算机可读介质,其上存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现根据权利要求1至9中任一项所述的图片处理方法。
技术总结