文件的修复方法、装置、终端设备和可读存储介质与流程

未命名 10-22 阅读:63 评论:0


1.本技术属于修复技术领域,尤其涉及一种文件的修复方法、装置、终端设备和可读存储介质。


背景技术:

2.psd是图形设计软件photoshop的专用格式,psd文件可以存储成rgb或cmyk模式,还能够自定义颜色数并加以存储,还可以保存photoshop的图层、通道、路径等信息。在相关技术中,当psd文件发生损坏时,无法对psd文件进行修复,以使其能正常打开。


技术实现要素:

3.本技术实施例提供一种文件的修复方法、装置、终端设备和可读存储介质,可以解决相关技术无法对损坏的psd文件进行修复的问题。
4.第一方面,本技术实施例提供了一种文件的修复方法,包括:
5.获取待修复文件,待修复文件为损坏的psd文件;
6.获取待修复文件中目标单元的对应数据,目标单元包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元;
7.将目标单元的对应数据组装成多个对应的目标单元;
8.将组装好的多个目标单元依次组装得到修复文件,修复文件为修复好的psd文件。
9.第二方面,本技术实施例提供了一种文件的修复装置,包括:
10.第一获取模块,用于获取待修复文件,待修复文件为损坏的psd文件;
11.第二获取模块,用于获取待修复文件中目标单元的对应数据,目标单元包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元;
12.第一组装模块,用于将目标单元的对应数据组装成多个对应的目标单元;
13.第二组装模块,用于将组装好的多个目标单元依次组装得到修复文件,修复文件为修复好的psd文件。
14.第三方面,本技术实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述文件的修复方法的步骤。
15.第四方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述文件的修复方法的步骤。
16.第五方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述文件的修复方法。
17.本技术实施例与现有技术相比的有益效果是:本技术实施例通过获取待修复文件以及待修复文件中目标单元的对应数据,并将目标单元的对应数据组装成多个对应的目标单元,最终将组装好的多个目标单元依次组装得到修复文件。本技术实施例通过从待修复
文件中提取目标单元对应的数据,并利用目标单元对应的数据组装得到完整psd文件所需的目标单元,将所有目标单元组装得到完整的psd文件,可以对损坏的psd文件进行修复。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1是本技术实施例提供的一种文件的修复方法的实现流程示意图;
20.图2是本技术实施例提供的获取文件头单元的对应数据的实现流程示意图;
21.图3是本技术实施例提供的获取色彩模型单元的对应数据的实现流程示意图;
22.图4是本技术实施例提供的检验色彩模型单元的合法性的实现流程示意图;
23.图5是本技术实施例提供的获取图片资源单元的对应数据的实现流程示意图;
24.图6是本技术实施例提供的获取蒙版与图层单元的对应数据的实现流程示意图;
25.图7是本技术实施例提供的获取图像元数据单元的对应数据的实现流程示意图;
26.图8是本技术实施例提供的一种文件的修复装置的结构示意图;
27.图9是本技术实施例提供的终端设备的结构示意图。
具体实施方式
28.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护。
29.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“包括”、“包含”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、终端、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。在本技术的权利要求书、说明书以及说明书附图中的术语,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实时的关系或者顺序。
30.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其他实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其他实施例相结合。
31.psd是图形设计软件photoshop的专用格式,psd文件可以存储成rgb或cmyk模式,还能够自定义颜色数并加以存储,还可以保存photoshop的图层、通道、路径等信息。在相关技术中,当psd文件发生损坏时,无法对psd文件进行修复,以使其能正常打开。
32.有鉴于此,本技术实施例通过从待修复文件中提取目标单元对应的数据,并利用目标单元对应的数据组装得到完整psd文件所需的目标单元,将所有目标单元组装得到完
整的psd文件,可以对损坏的psd文件进行修复。
33.为了说明本技术的技术方案,下面通过具体实施例来进行说明。
34.图1示出了本技术实施例提供的一种文件的修复方法的实现流程示意图,该方法可以应用于终端设备上。终端设备可以是手机、平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本等。
35.具体的,上述文件的修复方法可以包括以下步骤s101至步骤s104。
36.步骤s101,获取待修复文件。
37.其中,待修复文件为损坏的psd文件,psd文件通常包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元等数据。
38.在本技术的实施方式中,终端设备可以直接获取用户输入的待修复文件,也可以直接调取存储于存储器中的待修复文件,本技术实施例对获取待修复文件的方式不做限定。
39.步骤s102,获取待修复文件中目标单元的对应数据。
40.其中,目标单元为psd文件的组成部分,目标单元的对应数据可以构成目标单元。目标单元包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元。具体的,文件头单元可以包含图像的基本属性,例如版本,图像中的通道数,每个通道的位数,图像的像素高度和宽度以及文件的颜色模式等;色彩模型单元可以用于储存色彩数据;图片资源单元可以用于存储与图像关联的非像素数据,例如钢笔或铅笔工具路径;蒙版与图层单元可以包含有关图层和遮罩的信息,例如图层数,图层中的通道,混合范围,调整图层关键点等;图像元数据单元可以包含实际图像数据。
41.在本技术的实施方式中,终端设备可以在待修复文件中寻找特定的标识符,并进一步确定对应的目标单元的偏移位置以及文件的长度,从而得到目标单元的所有数据,并根据目标单元对应的匹配规则提取出合法的数据。
42.步骤s103,将目标单元的对应数据组装成多个对应的目标单元。
43.在本技术的实施方式中,得到目标单元对应的合法数据后,终端设备可以根据每个目标单元对应的合法数据组装得到对应的目标单元,直至组装得到所有的目标单元。
44.步骤s104,将组装好的多个目标单元依次组装得到修复文件。
45.其中,修复文件为修复好的psd文件。
46.在本技术的实施方式中,得到所有组装好的目标单元后,终端设备可以将这些组成好的目标单元按照预设的单元排列顺序进行组装,得到修复文件。
47.本技术实施例与现有技术相比的有益效果是:本技术实施例通过获取待修复文件以及待修复文件中目标单元的对应数据,并将目标单元的对应数据组装成多个对应的目标单元,最终将组装好的多个目标单元依次组装得到修复文件。本技术实施例通过从待修复文件中提取目标单元对应的数据,并利用目标单元对应的数据组装得到完整psd文件所需的目标单元,将所有目标单元组装得到完整的psd文件,可以对损坏的psd文件进行修复。
48.如图2所示,在本技术的一些实施方式中,当目标单元包括文件头单元时,上述获取待修复文件中目标单元的对应数据,具体可以包括步骤s201至步骤s202。
49.步骤s201,在待修复文件中寻找第一标识符,并获取第一标识符的偏移位置。
50.其中,第一标识符用于确定文件头单元在待修复文件中的位置,偏移位置表示对
应的数据在待修复文件中的位置。
51.在本技术的实施方式中,第一标识符可以设置为“8bps”。终端设备在待修复文件中搜索ascii码为“8bps”的第一标识符,当得到第一标识符后,终端设备可以获取第一标识符的偏移位置。
52.步骤s202,根据预设的第一匹配规则,从第一标识符的偏移位置之后获取文件头单元对应的识别标志、文件版本、零填充符区、通道数、高度、宽度、深度以及色彩模型值。
53.其中,第一匹配规则用于确定文件头单元的对应数据中的合法数据,第一匹配规则为photoshop公开的fileheader匹配规则。文件头单元的数据包括识别标志、文件版本、零填充符区、通道数、高度、宽度、深度以及色彩模型值中的一种或多种。
54.在本技术的实施方式中,得到第一标识符的偏移位置后,终端设备可以跳转至文件头单元的位置,向后读取所有文件头单元对应的识别标志、文件版本、零填充符区、通道数、高度、宽度、深度以及色彩模型值等数据,再利用第一匹配规则确定所有文件头单元对应的数据中的合法数据。
55.如图3所示,在本技术的一些实施方式中,当目标单元包括色彩模型单元时,上述获取待修复文件中目标单元的对应数据,具体可以包括步骤s301至步骤s303。
56.步骤s301,获取文件头单元之后的目标字节。
57.其中,目标字节用于确定色彩模型的长度,文件头单元之后的四个字节为目标字节。色彩模型单元包括目标单元以及色彩模型。
58.在本技术的实施方式中,终端设备可以在文件头单元的最后一位数据之后向后搜索四个字节,即可获取文件头单元之后的目标字节。
59.步骤s302,基于目标字节获取色彩模型的长度。
60.在本技术的实施方式中,由于目标字节记录了色彩模型的长度,因此终端设备通过读取目标字节的值可以获取色彩模型的长度。
61.步骤s303,基于色彩模型的长度获取色彩模型单元的对应数据。
62.在本技术的实施方式中,终端设备可以将目标字节的第一个字节作为色彩模型的偏移位置,结合在上述步骤s302中获取的色彩模型的长度,终端设备可以从色彩模型的偏移位置,向后读取色彩模型的长度的数据,得到获取色彩模型单元的对应数据。
63.如图4所示,在本技术的一些具体实施方式中,需要验证色彩模型单元是否合法,具体的,上述基于色彩模型的长度获取色彩模型单元的对应数据,还可以包括步骤s401及步骤s402。
64.s401,检验色彩模型单元的合法性。
65.在本技术的实施方式中,终端设备可以根据文件头单元中的色彩模型值与色彩模型单元中的色彩模型的长度来检验色彩模型单元的合法性。
66.具体的,终端设备可以获取文件头单元中的色彩模型值以及色彩模型单元中的色彩模型的长度。当文件头单元中的色彩模型值为2,且色彩模型单元中的色彩模型的长度为768时,色彩模型单元合法。当文件头单元中的色彩模型值为8,且色彩模型单元中的色彩模型的长度不为0时,色彩模型单元合法。当文件头单元中的色彩模型值为除2和8外的其他值,且色彩模型单元中的色彩模型的长度为0时,色彩模型单元合法。
67.s402,当色彩模型单元合法时,基于色彩模型的长度获取色彩模型单元的对应数
据。
68.在本技术的实施方式中,当色彩模型单元合法时,获取色彩模型单元的对应数据的具体过程可以参考上述步骤s303,此处不再赘述。
69.如图5所示,在本技术的一些实施方式中,当目标单元包括图片资源单元时,上述获取待修复文件中目标单元的对应数据,具体可以包括步骤s501至步骤s504。
70.步骤s501,在待修复文件中寻找第二标识符,并获取第二标识符的偏移位置。
71.其中,第二标识符用于确定图片资源单元在待修复文件中的位置。
72.在本技术的实施方式中,第二标识符可以设置为“8bim”。终端设备在待修复文件中搜索ascii码为“8bim”的第二标识符,当得到第二标识符后,终端设备可以获取第二标识符的偏移位置。
73.步骤s502,检验第二标识符的偏移位置向后4个字节的数据是否为图层标记键。
74.其中,图层标记键可以用于确定目标单元是否为图片资源单元。
75.在本技术的实施方式中,对于图片资源单元和蒙版与图层单元来说,二者的标识符的值是一样的,因此不能通过标识符的值来判断目标单元是图片资源单元还是蒙版与图层单元。此时终端设备可以获取第二标识符的偏移位置向后4个字节的数据,并检验该数据是否为图层标记键。若不是,则为图片资源单元;若是,则为蒙版与图层单元。
76.步骤s503,若不是,读取第二标识符的偏移位置向前4个字节得到图片资源单元的长度。
77.其中,第二标识符的偏移位置向前4个字节记录了图片资源单元的长度。
78.在本技术的实施方式中,当第二标识符的偏移位置向后4个字节的数据不为图层标记键时,可以说明对应的目标单元为图片资源单元。此时终端设备可以读取第二标识符的偏移位置向前4个字节,从而得到图片资源单元的长度。
79.步骤s504,根据预设的第二匹配规则以及图片资源单元的长度,获取图片资源单元的对应数据。
80.其中,第二匹配规则用于确定图片资源单元的对应数据中的合法数据,第二匹配规则为photoshop公开的imageresources匹配规则。
81.在本技术的实施方式中,第二标识符的偏移位置向前4个字节为图片资源单元的偏移位置,终端设备可以跳转至图片资源单元的位置,向后读取图片资源单元的长度的对应数据,再利用第二匹配规则确定所有图片资源单元对应的数据中的合法数据。
82.如图6所示,在本技术的一些实施方式中,当目标单元包括蒙版与图层单元时,上述获取待修复文件中目标单元的对应数据,具体可以包括步骤s601至步骤s604。
83.s601,在待修复文件中寻找第三标识符,并获取第三标识符的偏移位置。
84.其中,第三标识符用于蒙版与图层单元在待修复文件中的位置。
85.在本技术的实施方式中,第三标识符可以设置为“8bps”。终端设备在待修复文件中搜索ascii码为“8bps”的第三标识符,当得到第三标识符后,终端设备可以获取第三标识符的偏移位置。
86.s602,检验第三标识符的偏移位置向后4个字节的数据是否为图层标记键。
87.其中,图层标记键可以用于确定目标单元是否为蒙版与图层单元。
88.在本技术的实施方式中,对于图片资源单元和蒙版与图层单元来说,二者的标识
符的值是一样的,因此不能通过标识符的值来判断目标单元是图片资源单元还是蒙版与图层单元。此时终端设备可以获取第三标识符的偏移位置向后4个字节的数据,并检验该数据是否为图层标记键。若是,则为蒙版与图层单元;若不是,则为图片资源单元。
89.s603,若是,获取蒙版与图层单元的长度。
90.在本技术的实施方式中,需要找到记载蒙版与图层单元中记载长度的字节,来确定蒙版与图层单元的长度。
91.具体的,在蒙版与图层单元中,不同的通道值对应的数据的字节长度不同,当通道值为4时,对应的数据的字节长度为30个字节,当通道值为3时,对应的数据的字节长度为24个字节,当通道值为2时,对应的数据的字节长度为18个字节,当通道值为1时,对应的数据的字节长度为12个字节。
92.终端设备无法一开始就确定通道值,此时可以先假设通道值为4,并在图层标记键的第一位开始向前偏移30个字节,并读取对应的数据的前两位数据对应的值,如果读取结果显示前两位数据对应的值为4,则与假设的通道值相符,即可确定通道值为4。如果读取结果显示前两位数据对应的值不为4,则通道值不为4,此时可假设通道值为3,并重复执行上述步骤,直至确定出通道值。
93.得到通道值后,终端设备可以在通道值对应数据的第一位再向前偏移22个字节,并读取该位置向后4个字节的内容,这4个字节中记载了蒙版与图层单元的长度,至此得到了蒙版与图层单元的长度。
94.s604,根据预设的第三匹配规则以及蒙版与图层单元的长度,获取蒙版与图层单元的对应数据。
95.其中,第三匹配规则用于确定蒙版与图层单元的对应数据中的合法数据,第二匹配规则为photoshop公开的layerandmaskinformation匹配规则。
96.在本技术的实施方式中,第三标识符的偏移位置向前4个字节为蒙版与图层单元的偏移位置,终端设备可以跳转至蒙版与图层单元的位置,向后读取蒙版与图层单元的长度的对应数据,再利用第三匹配规则确定所有蒙版与图层单元对应的数据中的合法数据。
97.如图7所示,在本技术的一些实施方式中,当目标单元包括图像元数据单元时,上述获取待修复文件中目标单元的对应数据,具体可以包括步骤s701至步骤s703。
98.步骤s701,将蒙版与图层单元的最后一位数据的后一位数据作为图像元数据单元的起始数据。
99.在本技术的实施方式中,图像元数据单元与蒙版与图层单元是相连的。因此可以将蒙版与图层单元的最后一位数据的后一位数据作为图像元数据单元的起始数据。
100.步骤s702,从图像元数据单元的起始数据向后读取待修复文件中的剩余数据。
101.在本技术的实施方式中,待修复文件中的剩余数据即为图像元数据单元的对应数据。终端设备可以从图像元数据单元的起始数据向后读取待修复文件中的剩余数据。
102.步骤s703,根据预设的第四匹配规则以及剩余数据,获取图像元数据单元的对应数据。
103.其中,第四匹配规则用于确定图像元数据单元的对应数据中的合法数据,第四匹配规则为photoshop公开的imagedatasection匹配规则。
104.在本技术的实施方式中,终端设备可以利用第四匹配规则确定所有图像元数据单
元对应的数据中的合法数据。
105.图8示出了本技术实施例提供的一种文件的修复装置的结构示意图,上述文件的修复装置8可以配置于终端设备上,具体的,上述文件的修复装置8,可以包括:
106.第一获取模块801,用于获取待修复文件,待修复文件为损坏的psd文件;
107.第二获取模块802,用于获取待修复文件中目标单元的对应数据,目标单元包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元;
108.第一组装模块803,用于将目标单元的对应数据组装成多个对应的目标单元;
109.第二组装模块804,用于将组装好的多个目标单元依次组装得到修复文件,修复文件为修复好的psd文件。
110.本技术实施例与现有技术相比的有益效果是:本技术实施例通过获取待修复文件以及待修复文件中目标单元的对应数据,并将目标单元的对应数据组装成多个对应的目标单元,最终将组装好的多个目标单元依次组装得到修复文件。本技术实施例通过从待修复文件中提取目标单元对应的数据,并利用目标单元对应的数据组装得到完整psd文件所需的目标单元,将所有目标单元组装得到完整的psd文件,可以对损坏的psd文件进行修复。
111.在本技术的一些实施方式中,第二获取模块802还用于:在待修复文件中寻找第一标识符,并获取第一标识符的偏移位置;根据预设的第一匹配规则,从第一标识符的偏移位置之后获取文件头单元对应的识别标志、文件版本、零填充符区、通道数、高度、宽度、深度以及色彩模型值。
112.在本技术的一些实施方式中,第二获取模块802还用于:获取文件头单元之后的目标字节;基于目标字节获取色彩模型的长度;基于色彩模型的长度获取色彩模型单元的对应数据。
113.在本技术的一些实施方式中,第二获取模块802还用于:检验色彩模型单元的合法性;当色彩模型单元合法时,基于色彩模型的长度获取色彩模型单元的对应数据。
114.在本技术的一些实施方式中,第二获取模块802还用于:在待修复文件中寻找第二标识符,并获取第二标识符的偏移位置;检验第二标识符的偏移位置向后4个字节的数据是否为图层标记键;若不是,读取第二标识符的偏移位置向前4个字节得到图片资源单元的长度;根据预设的第二匹配规则以及图片资源单元的长度,获取图片资源单元的对应数据。
115.在本技术的一些实施方式中,第二获取模块802还用于:在待修复文件中寻找第三标识符,并获取第三标识符的偏移位置;检验第三标识符的偏移位置向后4个字节的数据是否为图层标记键;若是,获取蒙版与图层单元的长度;根据预设的第三匹配规则以及蒙版与图层单元的长度,获取蒙版与图层单元的对应数据。
116.在本技术的一些实施方式中,第二获取模块802还用于:将蒙版与图层单元的最后一位数据的后一位数据作为图像元数据单元的起始数据;从图像元数据单元的起始数据向后读取待修复文件中的剩余数据;根据预设的第四匹配规则以及剩余数据,获取图像元数据单元的对应数据。
117.如图9所示,为本技术实施例提供的一种终端设备的示意图。该终端设备9可以包括:处理器901、存储器902以及存储在所述存储器902中并可在所述处理器901上运行的计算机程序903,例如文件修复程序。所述处理器901执行所述计算机程序903时实现上述各个文件的修复方法实施例中的步骤,例如图1所示的步骤s101至步骤s104。或者,所述处理器
901执行所述计算机程序903时实现上述各装置实施例中各模块/单元的功能,例如图8所示的第一获取模块801、第二获取模块802、第一组装模块803、第二组装模块804。
118.所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器902中,并由所述处理器901执行,以完成本技术。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述终端设备中的执行过程。
119.所述终端设备可包括,但不仅限于,处理器901、存储器902。本领域技术人员可以理解,图9仅仅是终端设备的示例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。
120.所称处理器901可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
121.所述存储器902可以是所述终端设备的内部存储单元,例如终端设备的硬盘或内存。所述存储器902也可以是所述终端设备的外部存储设备,例如所述终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器902还可以既包括所述终端设备的内部存储单元也包括外部存储设备。所述存储器902用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器902还可以用于暂时地存储已经输出或者将要输出的数据。
122.需要说明的是,为描述的方便和简洁,上述终端设备的结构还可以参考方法实施例中对结构的具体描述,在此不再赘述。
123.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
124.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述文件的修复方法中的步骤。
125.本技术实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时可实现上述文件的修复方法中的步骤。
126.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
127.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单
元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对各个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
128.在本技术所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
129.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
130.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
131.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
132.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。

技术特征:
1.一种文件的修复方法,其特征在于,包括:获取待修复文件,所述待修复文件为损坏的psd文件;获取所述待修复文件中目标单元的对应数据,所述目标单元包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元;将所述目标单元的对应数据组装成多个对应的目标单元;将组装好的多个所述目标单元依次组装得到修复文件,所述修复文件为修复好的psd文件。2.如权利要求1所述的文件的修复方法,其特征在于,当所述目标单元包括文件头单元时,所述获取待修复文件中目标单元的对应数据,包括:在所述待修复文件中寻找第一标识符,并获取所述第一标识符的偏移位置;根据预设的第一匹配规则,从所述第一标识符的偏移位置之后获取所述文件头单元对应的识别标志、文件版本、零填充符区、通道数、高度、宽度、深度以及色彩模型值。3.如权利要求1所述的文件的修复方法,其特征在于,当所述目标单元包括色彩模型单元时,所述获取待修复文件中目标单元的对应数据,包括:获取所述文件头单元之后的目标字节;基于所述目标字节获取色彩模型的长度;基于所述色彩模型的长度获取所述色彩模型单元的对应数据。4.如权利要求3所述的文件的修复方法,其特征在于,所述基于所述色彩模型的长度获取所述色彩模型单元的对应数据,还包括:检验所述色彩模型单元的合法性;当所述色彩模型单元合法时,基于所述色彩模型的长度获取所述色彩模型单元的对应数据。5.如权利要求1所述的文件的修复方法,其特征在于,当所述目标单元包括图片资源单元时,所述获取待修复文件中目标单元的对应数据,包括:在所述待修复文件中寻找第二标识符,并获取所述第二标识符的偏移位置;检验所述第二标识符的偏移位置向后4个字节的数据是否为图层标记键;若不是,读取所述第二标识符的偏移位置向前4个字节得到所述图片资源单元的长度;根据预设的第二匹配规则以及所述图片资源单元的长度,获取所述图片资源单元的对应数据。6.如权利要求1所述的文件的修复方法,其特征在于,当所述目标单元包括蒙版与图层单元时,所述获取待修复文件中目标单元的对应数据,包括:在所述待修复文件中寻找第三标识符,并获取所述第三标识符的偏移位置;检验所述第三标识符的偏移位置向后4个字节的数据是否为图层标记键;若是,获取所述蒙版与图层单元的长度;根据预设的第三匹配规则以及所述蒙版与图层单元的长度,获取所述蒙版与图层单元的对应数据。7.如权利要求1所述的文件的修复方法,其特征在于,当所述目标单元包括图像元数据单元时,所述获取待修复文件中目标单元的对应数据,包括:将所述蒙版与图层单元的最后一位数据的后一位数据作为所述图像元数据单元的起
始数据;从所述图像元数据单元的起始数据向后读取所述待修复文件中的剩余数据;根据预设的第四匹配规则以及所述剩余数据,获取所述图像元数据单元的对应数据。8.一种文件的修复装置,其特征在于,包括:第一获取模块,用于获取待修复文件,所述待修复文件为损坏的psd文件;第二获取模块,用于获取所述待修复文件中目标单元的对应数据,所述目标单元包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元;第一组装模块,用于将所述目标单元的对应数据组装成多个对应的目标单元;第二组装模块,用于将组装好的多个所述目标单元依次组装得到修复文件,所述修复文件为修复好的psd文件。9.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述文件的修复方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述文件的修复方法的步骤。

技术总结
本申请适用于修复技术领域,提供了一种文件的修复方法、装置、终端设备和可读存储介质。上述文件的修复方法包括:获取待修复文件,待修复文件为损坏的PSD文件;获取待修复文件中目标单元的对应数据,目标单元包括文件头单元、色彩模型单元、图片资源单元、蒙版与图层单元以及图像元数据单元;将目标单元的对应数据组装成多个对应的目标单元;将组装好的多个目标单元依次组装得到修复文件,修复文件为修复好的PSD文件。本申请实施例通过从待修复文件中提取目标单元对应的数据,并利用目标单元对应的数据组装得到完整PSD文件所需的目标单元,将所有目标单元组装得到完整的PSD文件,可以对损坏的PSD文件进行修复。以对损坏的PSD文件进行修复。以对损坏的PSD文件进行修复。


技术研发人员:周明
受保护的技术使用者:深圳软牛科技有限公司
技术研发日:2023.07.03
技术公布日:2023/10/19
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐