PSD文件的合并方法、装置和存储介质及电子设备与流程
本技术涉及计算机领域,具体而言,涉及一种psd文件的合并方法、装置和存储介质及电子设备。
背景技术:
1、引擎工具可以导出生成psd文件,但如果基于已生成的psd文件做修改的过程中,引擎工具又导出了一个新的psd文件,那么这两个psd文件就产生了不同,如果让美术人员进行手动合并,工作量较大,进而导致psd文件的合并效率较低的问题出现。因此,存在psd文件的合并效率较低的问题。
2、针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
1、本技术实施例提供了一种psd文件的合并方法、装置和存储介质及电子设备,以至少解决psd文件的合并效率较低的技术问题。
2、根据本技术实施例的一个方面,提供了一种psd文件的合并方法,包括:获取第一psd文件和第二psd文件;响应于文件合并请求,获取上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,其中,上述层级结构是psd文件内部元素的标准组织形式;基于上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,对上述第一psd文件和上述第二psd文件进行合并,得到合并后的psd文件。
3、根据本技术实施例的另一方面,还提供了一种psd文件的合并装置,包括:第一获取单元,用于获取第一psd文件和第二psd文件;第二获取单元,用于响应于文件合并请求,获取上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,其中,上述层级结构是psd文件内部元素的标准组织形式;合并单元,用于基于上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,对上述第一psd文件和上述第二psd文件进行合并,得到合并后的psd文件。
4、作为一种可选的方案,在上述第一psd文件是新的psd文件,上述第二psd文件是旧的psd文件的情况下,上述装置还包括:第三获取单元,用于在上述基于上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,对上述第一psd文件和上述第二psd文件进行合并,得到合并后的psd文件的过程中,获取上述第一psd文件中的第一内部元素;第一更新单元,用于在上述基于上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,对上述第一psd文件和上述第二psd文件进行合并,得到合并后的psd文件的过程中,基于上述第一内部元素,更新上述第二psd文件。
5、作为一种可选的方案,上述第一更新单元,包括:更新模块,用于在上述第二psd文件中,具有与上述第一内部元素同名的第三内部元素的情况下,使用上述第一内部元素,更新上述第三内部元素。
6、作为一种可选的方案,在上述第二psd文件中,具有与上述第一内部元素同名的图层,且上述第一内部元素是控件类型的情况下,上述更新模块,包括:修改子模块,用于将上述第三内部元素的层级和坐标,修改为与上述第一内部元素相同的层级和坐标;拷贝子模块,用于在上述第一内部元素是图像或文本,拷贝上述第一内部元素覆盖上述第三内部元素。
7、作为一种可选的方案,在上述第二psd文件中,缺少与上述第一内部元素同名的图层,且上述第一内部元素是控件类型的情况下,上述更新模块,包括:第一新增子模块,用于在上述第一内部元素和上述第三内部元素都是文件夹,或上述第一内部元素和上述第三内部元素是不同格式的情况下,将上述第三内部元素进行删除标记,并在上述第二psd文件中新增上述第一内部元素;或,第一更新子模块,用于在上述第一内部元素和上述第三内部元素不都是文件夹,或上述第一内部元素和上述第三内部元素是相同格式的情况下,将上述第三内部元素更新为上述第一内部元素。
8、作为一种可选的方案,在上述第一内部元素是属性类型的情况下,上述更新模块,包括:第二更新子模块,用于在上述第三内部元素中,具有与上述第一内部元素的第一属性同名的第二属性的情况下,使用上述第一属性,更新上述第二属性;或,第二新增子模块,用于在上述第三内部元素中,缺少上述第二属性的情况下,为上述第三内部元素新增上述第二属性。
9、作为一种可选的方案,在上述第一内部元素是外链类型的情况下,上述更新模块,包括:第三更新子模块,用于在上述第三内部元素中,具有与上述第一内部元素的第一外链同名的第二外链的情况下,使用上述第一外链,更新上述第二外链;第四更新子模块,用于基于更新后的第二外链,更新上述第三内部元素的图层顺序和坐标;或,第三新增子模块,用于在上述第三内部元素中,缺少上述第二外链的情况下,为上述第三内部元素新增上述第二外链。
10、作为一种可选的方案,上述第一更新单元,包括:新增模块,用于在上述第二psd文件中,缺少与上述第一内部元素同名的内部元素的情况下,为上述第二psd文件新增上述第一内部元素。
11、作为一种可选的方案,在上述第一psd文件是新的psd文件,上述第二psd文件是旧的psd文件的情况下,上述装置还包括:第四获取单元,用于在上述基于上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,对上述第一psd文件和上述第二psd文件进行合并,得到合并后的psd文件的过程中,获取上述第二psd文件中的第二内部元素;第二更新单元,用于在上述基于上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,对上述第一psd文件和上述第二psd文件进行合并,得到合并后的psd文件的过程中,基于上述第二内部元素和上述第一psd文件,更新上述第二psd文件。
12、作为一种可选的方案,上述第二更新单元,包括:删除模块,用于在上述第一psd文件中,缺少与上述第二内部元素同名的内部元素的情况下,为上述第二psd文件删除上述第二内部元素。
13、作为一种可选的方案,上述删除模块,包括:删除子模块,用于在上述第一psd文件中,缺少与上述第二内部元素同名的图层,且上述第二内部元素是控件类型的情况下,将上述第二内部元素进行删除标记。
14、作为一种可选的方案,在上述第一psd文件是新的psd文件,上述第二psd文件是旧的psd文件的情况下,上述合并单元,包括:获取模块,用于获取上述第一psd文件对应的层级结构中的各个节点,与上述第二psd文件之间全部的元素关联信息,其中,上述节点用于表示上述psd文件内部元素,上述元素关联信息用于表示上述第一psd文件的内部元素与上述第二psd文件的内部元素之间的关联关系;合并模块,用于基于上述元素关联信息,对上述第一psd文件和上述第二psd文件进行合并,得到上述合并后的psd文件。
15、作为一种可选的方案,上述获取模块,包括:执行子模块,用于执行以下步骤,直至得到上述全部的元素关联信息:从上述第一psd文件对应的层级结构中确定出当前节点集合;从上述当前节点集合中确定出当前节点;获取上述当前节点,与上述第二psd文件之间的当前元素关联信息;在上述当前节点集合中,还存在未得到元素关联信息的节点的情况下,从上述当前节点集合中获取下一节点,并将上述下一节点确定为上述当前节点;在已得到上述当前节点集合中的各个节点,与上述第二psd文件之间的集合元素关联信息,且未得到上述全部的元素关联信息的情况下,从上述第一psd文件对应的层级结构中,获取下一节点集合,并将上述下一节点集合确定为上述当前节点集合;在已得到上述第一psd文件对应的层级结构中,所有节点集合对应的集合元素关联信息的情况下,将上述所有节点集合对应的集合元素关联信息,确定为上述全部的元素关联信息。
16、作为一种可选的方案,上述装置还包括以下至少之一:第一配置单元,用于在上述响应于文件合并请求,获取上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构之前,为上述层级结构中,属于控件类型的内部元素,配置第一符号;第二配置单元,用于在上述响应于文件合并请求,获取上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构之前,为上述层级结构中,属于属性类型的内部元素,配置第二符号;第三配置单元,用于在上述响应于文件合并请求,获取上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构之前,为上述层级结构中,属于外链件类型的内部元素,配置第三符号;第四配置单元,用于在上述响应于文件合并请求,获取上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构之前,为上述层级结构中,属于其他附加字段类型的内部元素,配置第四符号。
17、根据本技术实施例的又一个方面,提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行如以上psd文件的合并方法。
18、根据本技术实施例的又一方面,还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的psd文件的合并方法。
19、在本技术实施例中,获取第一psd文件和第二psd文件;响应于文件合并请求,获取上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,其中,上述层级结构是psd文件内部元素的标准组织形式;基于上述第一psd文件对应的层级结构,和上述第二psd文件对应的层级结构,对上述第一psd文件和上述第二psd文件进行合并,得到合并后的psd文件。通过获取两个psd文件的层级结构,并基于这些层级结构,对两个psd文件进行合并,进而达到了psd文件的自动化合并的目的,从而实现了提高psd文件的合并效率的技术效果,进而解决了psd文件的合并效率较低的技术问题。