图层处理方法、装置和电子设备与流程

文档序号:17332509发布日期:2019-04-05 22:10阅读:242来源:国知局
图层处理方法、装置和电子设备与流程

本公开涉及图像处理技术领域,尤其涉及一种图层处理方法、装置和电子设备。



背景技术:

目前与画布相关的应用(application,简称app)具有photoshop、powerpoint以及各类作图app,其中,画布由多个图层堆叠组成,类似多个积木的堆叠,只是在展示时,画布不具有高度,看上去像一张二维的图片,位于上面的图层将覆盖位于下面的图层,并且,各图层之间的位置关系可以随意调整。

然而,当图层的位置发生变化时,各图层之间的关系容易混乱,不易于管理和维护。

公开内容

本公开提出一种图层处理方法、装置和电子设备,以实现对各图层之间的关系进行解耦,当需要对各图层之间的位置进行更改时,通过根据图层操作类型,调用图层控制器中对应的方法即可实现,可以保证各图层的位置唯一确定,以及相邻图层之间的关系唯一确定,从而便于对各图层对象的管理和维护,用于解决现有技术中当图层的位置发生变化时,各图层对象不易管理和维护的技术问题。

本公开一方面实施例提出了一种图层处理方法,包括:

根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类;

对各图层的图层类进行实例化,得到各图层的图层对象;

根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及所述待操作图层的相邻图层的图层对象进行属性信息修改。

本公开又一方面实施例提出了一种图层处理装置,包括:

生成模块,用于根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类;

处理模块,用于对各图层的图层类进行实例化,得到各图层的图层对象;

修改模块,用于根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及所述待操作图层的相邻图层的图层对象进行属性信息修改。

本公开又一方面实施例提出了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行上述实施例提出的图层处理方法。

本公开又一方面实施例提出了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行本公开上述实施例提出的图层处理方法。

本公开实施例所提供的技术方案可以包含以下的有益效果:

本公开实施例中,根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类,而后,对各图层的图层类进行实例化,得到各图层的图层对象,最后,根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。由此,可以实现对各图层之间的关系进行解耦,当需要对各图层之间的位置进行更改时,通过根据图层操作类型,调用图层控制器中对应的方法即可实现,可以保证各图层的位置唯一确定,以及相邻图层之间的关系唯一确定,从而便于对各图层对象的管理和维护。

本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。

附图说明

本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为画布的结构示意图;

图2为本公开实施例一所提供的图层处理方法的流程示意图;

图3为本公开实施例二所提供的图层处理方法的流程示意图;

图4为本公开实施例三所提供的图层处理方法的流程示意图;

图5为本公开实施例中各图层位置示意图;

图6为本公开实施例四所提供的图层处理方法的流程示意图;

图7为本公开实施例五所提供的图层处理装置的结构示意图;

图8为本公开实施例六所提供的图层处理装置的结构示意图;

图9示出了适于用来实现本公开实施例的电子设备的结构示意图;

图10是图示根据本公开的实施例的计算机可读存储介质的示意图。

具体实施方式

下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。

现有技术中,画布由多个图层对象堆叠组成,例如,参见图1,图1为画布的结构示意图。其中,1,2,3,4,5,…,n分别表示组成画布的n个图层对象。然而,当图层的位置发生变化时,各图层之间的关系容易混乱,不易于管理和维护。

本公开主要针对现有技术中当图层的位置发生变化时,各图层对象不易管理和维护的技术问题,提出一种图层处理方法。

本公开实施例的图层处理方法,通过根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类,而后,对各图层的图层类进行实例化,得到各图层的图层对象,最后,根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。由此,可以实现对各图层之间的关系进行解耦,当需要对各图层之间的位置进行更改时,通过根据图层操作类型,调用图层控制器中对应的方法即可实现,可以保证各图层的位置唯一确定,以及相邻图层之间的关系唯一确定,从而便于对各图层对象的管理和维护。

下面参考附图描述本公开实施例的图层处理方法、装置和电子设备。在具体描述本发明实施例之前,为了便于理解,首先对常用技术词进行介绍:

实例化,在面向对象的编程中,通常把用类创建对象的过程称为实例化,其格式如下:

类名对象名=new类名(参数1,参数2...参数n)。

图2为本公开实施例一所提供的图层处理方法的流程示意图。

本公开实施例以该图层处理方法被配置于图层处理装置中来举例说明,该图层处理装置可以被配置于任意一个电子设备中,以使该电子设备可以执行该图层处理方法。

其中,电子设备可以为手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。

如图2所示,该图层处理方法包括以下步骤:

步骤101,根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类。

本公开实施例中,图层的标识用于唯一标识对应图层,例如,图层的标识可以为图层的身份标识符(identification,简称id)。可以预先为各图层分配唯一的标识,例如,可以用数字来表示图层的标识,比如图层1的标识可以为:3243243243,图层2的标识可以为:3546546434234234,…,或者,也可以用字符来表示图层的标识,比如图层1的标识可以为:a,图层2的标识可以为:b,…,对此不作限制。

本公开实施例中,为了便于管理各图层,可以根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类。具体地,可以首先确定各图层的标识,而后,针对每个图层,可以确定该图层的前一层级图层(pre)和后一层级图层(next),从而可以确定各图层之间的相邻关系,之后,可以根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类,例如标记为layer类。

需要说明的是,各图层的图层类可以由用户进行定义,或者,也可以由图层处理装置自动生成,以提升该图层处理方法的灵活性及适用性,对此不作限制。

步骤102,对各图层的图层类进行实例化,得到各图层的图层对象。

需要说明的是,在程序中并非直接使用图层类,而是使用通过图层类创建的图层对象,因此,本公开中,若想要对各图层之间的位置进行更改时,例如,插入一个新建图层、删除指定图层等等,则首先需要对各图层的图层类进行实例化,得到各图层的图层对象,从而后续步骤中可以对各图层的图层对象进行操作。例如,针对图层a,在生成对应的图层类(layer类)后,可以利用newlayerposition(图层a的标识)对图层a的图层类进行实例化,得到图层a的图层对象。

本公开实施例中,实例化后得到的各图层的图层对象的属性信息包括:图层对象所属图层的标识和相邻图层的标识,相邻图层的标识包括前一层级图层的标识和后一层级图层的标识。

举例而言,假设共有四个图层,分别为:图层a、图层b、图层c和图层d,以图层a而言,图层a对应的图层对象的属性信息包括:图层a的标识、图层b的标识(后一层级图层的标识)。或者,以图层c而言,图层c对应的图层对象的属性信息包括:图层c的标识、图层b的标识(前一层级图层的标识)、图层d(后一层级图层的标识)。或者,以图层d而言,图层d对应的图层对象的属性信息包括:图层d的标识和图层c的标识(前一层级图层的标识)。

步骤103,根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。

本公开实施例中,图层操作类型包括:在图层末尾插入一个新建图层(即在最后一个图层之后插入新建图层)、在指定图层后插入一个新建图层、删除一个指定图层等等。

可以理解的是,当图层操作类型不同时,调用图层控制器中的方法不同,例如,当图层操作类型为在最后一个图层之后插入新建图层时,调用图层控制器中的方法为append,当图层操作类型为在指定图层后插入一个新建图层时,调用图层控制器中的方法为insert,当图层操作类型为删除一个指定图层时,调用图层控制器中的方法为remove等等。

本公开实施例中,在确定图层操作类型后,可以调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。

作为一种可能的实现方式,当图层操作类型为删除一个指定图层时,可以调用图层控制器中对应的方法,根据图层操作指示的指定图层的标识,从各图层对象中查询指定图层的前一层级图层的图层对象和后一层级图层的图层对象,而后针对该指定图层的前一层级图层的图层对象,可以将属性信息中的后一层级的图层标识修改为指定图层的后一层级图层的标识,并针对该指定图层的后一层级图层的图层对象,可以将属性信息中的前一层级的图层标识修改为指定图层的前一层级图层的标识。

举例而言,当图层操作类型为删除一个指定图层时,调用图层控制器中的方法为remove,假设共有四个图层,分别图层a、图层b、图层c和图层d,如果需要删除图层c,则可以通过调用remove(指定图层的标识)来实现,具体地,先找到图层c,而后设置b.next=d,d.pre=b即可。

本公开实施例的图层处理方法,通过根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类,而后,对各图层的图层类进行实例化,得到各图层的图层对象,最后,根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。由此,可以实现对各图层之间的关系进行解耦,当需要对各图层之间的位置进行更改时,通过根据图层操作类型,调用图层控制器中对应的方法即可实现,可以保证各图层的位置唯一确定,以及相邻图层之间的关系唯一确定,从而便于对各图层对象的管理和维护。

作为一种可能的实现方式,当图层操作类型为在图层末尾插入一个新建图层时,参见图3,在图2所示实施例的基础上,步骤103具体可以包括以下子步骤:

步骤201,若图层操作类型为在最后一个图层之后插入第一新建图层,调用图层控制器中对应的方法获取图层操作指示的第一新建图层的标识。

本公开实施例中,当需要在最后一个图层之后插入第一新建图层时,例如标记第一新建图层为图层f,则可以通过调用图层控制器中的方法为append,获取的图层操作指示的第一新建图层的标识。

步骤202,根据第一新建图层的标识,生成第一新建图层的图层类,并进行实例化得到第一新建图层的图层对象。

例如,在确定第一新建图层的标识后,并生成对应的图层类(layer类)后,可以利用newlayerposition(第一新建图层的标识)对第一新建图层的图层类进行实例化,得到第一新建图层的图层对象。

步骤203,从各图层对象中的一个初始图层对象开始,根据属性信息中的后一层级图层的标识,对后一层级图层的图层对象进行递归调用,直至属性信息中后一层级图层的标识为空。

例如,标记初始图层对象为head,各图层分别为a、b、c、d,根据相邻图层的标识,可以确定图层a的后一层级为图层b,图层b的后一层级为图层c,图层c的后一层级为图层d,图层d的后一层级为空,则递归调用可以得到:layercontroller.head=a,a.next=b,b.next=c,c.next=d,d.next=空。

步骤204,对最后一次递归调用得到的图层对象,将属性信息中后一层级图层的标识从空修改为第一新建图层的标识。

仍以上述例子示例,则可以将图层d的后一层级图层的标识从空修改为第一新建图层(图层f)的标识,即d.next=f。例如,可以通过调用append(第一新建图层的标识),实现在最后一个图层之后插入图层f。由此,可以方便地在最后一个图层之后插入新建图层。

作为一种可能的实现方式,当图层操作类型为在指定图层后插入一个新建图层时,参见图4,在图2所示实施例的基础上,步骤103具体可以包括以下子步骤:

步骤301,若图层操作类型为在指定图层后插入第二新建图层,调用图层控制器中对应的方法获取图层操作指示的第二新建图层的标识。

本公开实施例中,在需要在指定图层后插入第二新建图层时,例如标记第二新建图层为图层h,则可以通过调用图层控制器中的方法为insert,获取图层操作指示的第二新建图层的标识。

步骤302,根据第二新建图层的标识,生成第二新建图层的图层类,并进行实例化得到第二新建图层的图层对象。

本公开实施例中,在确定第二新建图层的标识后,并生成对应的图层类(layer类)后,可以利用newlayerposition(第二新建图层的标识)对第二新建图层的图层类进行实例化,得到第二新建图层的图层对象。

步骤303,根据图层操作指示的指定图层的标识,从各图层对象中查询指定图层的图层对象。

具体地,可以从各图层对象中的一个初始图层对象开始,判断属性信息中所属图层的标识是否为指定图层的标识,若是,则确定初始图层对象为指定图层的图层对象,若否,则根据初始图层对象的属性信息中相邻图层的标识,对相邻图层的图层对象进行递归调用,直至属性信息中所属图层的标识为指定图层的标识。

例如,标记初始图层对象为head,各图层分别为a、b、c、d,且指定图层为图层c,由于初始图层对象所属图层为图层a,此时,可以确定图层a的标识不为指定图层的标识,则根据相邻图层的标识,可以确定图层a的后一层级为图层b,然而图层b的标识也不为指定图层的标识,接着,可以根据相邻图层的标识,确定图层b的后一层级为图层c,此时,可以确定图层c的标识为指定图层的标识,因此,可以确定指定图层为图层c。也就是说,递归调用可以得到:layercontroller.head=a,a.next=b,b.next=c,则返回图层c的图层对象。例如,可以通过调用图层控制器中find(指定图层的标识)方法,确定指定图层。

步骤304,对指定图层的图层对象,将属性信息中后一层级图层的标识修改为第二新建图层的标识。

仍以上述例子示例,则可以将图层c的后一层级图层的标识修改为第二新建图层(图层h)的标识,即c.next=h。

步骤305,根据指定图层的图层对象在属性信息修改前后一层级图层的标识,对第二新建图层的图层对象修改属性信息中后一层级图层的标识。

仍以上述例子示例,指定图层的图层对象在属性信息修改前后一层级图层的标识为图层d的标识,则可以将第二新建图层(图层h)的后一层级图层的标识修改为图层d的标识,即h.next=d。

步骤306,根据指定图层的标识,对第二新建图层的图层对象修改属性信息中的前一层级图层的标识。

仍以上述例子示例,可以将第二新建图层(图层h)的前一层级图层的标识修改为指定图层(图层c)的标识,即h.pre=c。也就是说,layercontroller.head=a,a.next=b,b.next=c,c.next=h,h.next=d,d.next=空,以及d.pre=h,h.pre=c,c.pre=b,b.pre=a,a.pre=空。

例如,可以通过调用insert(指定图层的标识,第二新建图层的标识),实现在指定图层(图层c)之后插入第二新建图层(图层h)。由此,可以方便地在指定图层之后插入新建图层。

作为一种示例,参见图5,初始的各图层分别为图层a和图层b,如果想要在图层a后插入图层h,则可以令layercontroller.head=a,a.next=h,h.next=b,b.pre=h,h.pre=a,a.pre=空。

作为一种可能的实现方式,在根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改后,还可以返回各图层的位置信息,即返回各图层对应的层级,具体地,可以以图层数组的形式,输出各图层的标识和对应的层级。下面结合图6,对上述过程进行详细说明。

图6为本公开实施例四所提供的图层处理方法的流程示意图。

如图6所示,在上述实施例所示的基础上,该图层处理方法还可以包括以下步骤:

步骤401,从各图层对象中的一个初始图层对象开始,根据属性信息中的相邻图层的标识,对相邻图层的图层对象进行递归调用,直至属性信息中相邻图层的标识为空。

例如,标记初始图层对象为head,各图层分别为a、b、c、d,根据相邻图层的标识,可以确定图层a的后一层级为图层b,图层b的后一层级为图层c,图层c的后一层级为图层d,图层d的后一层级为空,则递归调用可以得到:layercontroller.head=a,a.next=b,b.next=c,c.next=d,d.next=空。

步骤402,根据各图层对象的递归调用顺序,确定各图层的层级。

仍以上述例子示例,可以确定图层a的层级为0,图层b的层级为1,图层c的层级为2,图层d的层级为3。

步骤403,对递归调用得到的各图层对象,将属性信息中的所属图层的标识和相应图层的层级,对应存储至图层数组中。

其中,每个图层对象的属性信息包括:图层对象所属图层的标识和相邻图层的标识,相邻图层的标识包括前一层级图层的标识和后一层级图层的标识。

本公开实施例中,在确定各图层对象的属性信息后,可以将属性信息中的所属图层的标识和相应图层的层级,对应存储至图层数组中,即建立图层的标识和层级之间的映射关系,从而可以便于对各图层进行管理和维护。

举例而言,当只有两个图层,分别为图层a和图层b,图层a的标识为3243243243,层级为0,图层b的标识为3546546434234234,层级为1,则可以通过调用图层控制器中的print()方法,输出对应的图层数组为:[{layerid:3243243243,index:0},{layerid:3546546434234234,index:1}]。

作为一种可能的实现方式,在根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改后,还可以输出图层的总层数。具体地,可以从各图层对象中的一个初始图层对象开始,根据属性信息中的相邻图层的标识,对相邻图层的图层对象进行递归调用,直至属性信息中相邻图层的标识为空,而后根据各图层对象的递归调用次数,确定图层总层数。

例如,标记初始图层对象为head,各图层分别为a、b、c、d,根据相邻图层的标识可以确定图层a的后一层级为图层b,图层b的后一层级为图层c,图层c的后一层级为图层d,图层d的后一层级为空,则递归调用可以得到:layercontroller.head=a,a.next=b,b.next=c,c.next=d,d.next=空,由于一共进行四次递归调用,因此,可以图层总层数为4。可以通过调用图层控制器中size()方法,返回图层总层数:4。

由此,可以实现对各图层之间的关系进行解耦,当需要对各图层之间的位置进行更改时,通过修改代码即可实现,使得各图层之间的关系易于管理和维护。

为了实现上述实施例,本公开还提出一种图层处理装置。

图7为本公开实施例五所提供的图层处理装置的结构示意图。

如图7所示,该图层处理装置包括:生成模块101、处理模块102,以及修改模块103。

其中,生成模块101,用于根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类。

处理模块102,用于对各图层的图层类进行实例化,得到各图层的图层对象。

作为一种可能的实现方式,属性信息中包括相邻图层的标识,所述相邻图层的标识包括:前一层级图层的标识和/或后一层级图层的标识。

修改模块103,用于根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。

进一步地,在本公开实施例的一种可能的实现方式中,参见图8,在图7所示实施例的基础上,该图层处理装置还可以包括:

作为一种可能的实现方式,所述图层对象的属性信息包括所属图层的标识和相邻图层的标识。

递归调用模块104,用于从各图层对象中的一个初始图层对象开始,根据属性信息中的相邻图层的标识,对所述相邻图层的图层对象进行递归调用,直至属性信息中相邻图层的标识为空。

确定模块105,用于根据各图层对象的递归调用顺序,确定各图层的层级。

存储模块106,用于对递归调用得到的各图层对象,将所述属性信息中的所属图层的标识和相应图层的层级,对应存储至图层数组中。

作为一种可能的实现方式,所述属性信息中相邻图层的标识包括:前一层级图层的标识和/或后一层级图层的标识。

作为一种可能的实现方式,修改模块103,具体用于:若图层操作类型为在最后一个图层之后插入第一新建图层,调用图层控制器中对应的方法获取图层操作指示的第一新建图层的标识;根据所述第一新建图层的标识,生成所述第一新建图层的图层类,并进行实例化得到所述第一新建图层的图层对象;从各图层对象中的一个初始图层对象开始,根据属性信息中的后一层级图层的标识,对所述后一层级图层的图层对象进行递归调用,直至属性信息中后一层级图层的标识为空;对最后一次递归调用得到的图层对象,将属性信息中后一层级图层的标识从空修改为所述第一新建图层的标识。

作为另一种可能的实现方式,修改模块103,具体用于:若图层操作类型为在指定图层后插入第二新建图层,调用图层控制器中对应的方法获取图层操作指示的第二新建图层的标识;根据所述第二新建图层的标识,生成所述第二新建图层的图层类,并进行实例化得到所述第二新建图层的图层对象;根据所述图层操作指示的所述指定图层的标识,从各图层对象中查询所述指定图层的图层对象;对所述指定图层的图层对象,将属性信息中后一层级图层的标识修改为所述第二新建图层的标识;根据所述指定图层的图层对象在属性信息修改前所述后一层级图层的标识,对所述第二新建图层的图层对象修改属性信息中后一层级图层的标识。

作为又一种可能的实现方式,修改模块103,还用于:根据所述指定图层的标识,对所述第二新建图层的图层对象修改属性信息中的前一层级图层的标识。

作为再一种可能的实现方式,修改模块103,还用于:从各图层对象中的一个初始图层对象开始,判断属性信息中所属图层的标识是否为所述指定图层的标识;若为所述指定图层的标识,确定所述初始图层对象为所述指定图层的图层对象;若不为所述指定图层的标识,根据所述初始图层对象的属性信息中相邻图层的标识,对所述相邻图层的图层对象进行递归调用,直至属性信息中所属图层的标识为所述指定图层的标识。

作为一种可能的实现方式,递归调用模块104,还用于:从各图层对象中的一个初始图层对象开始,根据属性信息中的相邻图层的标识,对所述相邻图层的图层对象进行递归调用,直至属性信息中相邻图层的标识为空。

确定模块105,还用于:根据各图层对象的递归调用次数,确定图层总层数。

需要说明的是,前述对图层处理方法实施例的解释说明也适用于该实施例的图层处理装置,此处不再赘述。

本公开实施例的图层处理装置,通过根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类,而后,对各图层的图层类进行实例化,得到各图层的图层对象,最后,根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。由此,可以实现对各图层之间的关系进行解耦,当需要对各图层之间的位置进行更改时,通过根据图层操作类型,调用图层控制器中对应的方法即可实现,可以保证各图层的位置唯一确定,以及相邻图层之间的关系唯一确定,从而便于对各图层对象的管理和维护。

为了实现上述实施例,本公开还提出一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;

其中,存储器存储有可被至少一个处理器执行的指令,指令被设置为用于执行上述实施例提出的图层处理方法。

下面参考图9,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图9示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图9所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储装置808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有电子设备操作所需的各种程序和数据。处理装置801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

通常,以下装置可以连接至i/o接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图9示出了具有各种装置的电子设备,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从rom802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:根据各图层的标识,以及各图层之间的相邻关系,生成各图层的图层类;对各图层的图层类进行实例化,得到各图层的图层对象;根据图层操作类型,调用图层控制器中对应的方法对待操作图层的图层对象,以及待操作图层的相邻图层的图层对象进行属性信息修改。

或者,上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:从各图层对象中的一个初始图层对象开始,根据属性信息中的相邻图层的标识,对相邻图层的图层对象进行递归调用,直至属性信息中相邻图层的标识为空;根据各图层对象的递归调用顺序,确定各图层的层级;对递归调用得到的各图层对象,将属性信息中的所属图层的标识和相应图层的层级,对应存储至图层数组中。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。

为了实现上述实施例,本公开还提出一种计算机可读存储介质,计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行本公开上述实施例提出的图层处理方法。

图10是图示根据本公开的实施例的计算机可读存储介质的示意图。如图10所示,根据本公开实施例的计算机可读存储介质400,其上存储有计算机指令401。当该计算机可读指令401由处理器运行时,执行前述的本公开各实施例的图层处理方法的全部或部分步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在非暂态存储介质中,如磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务端,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。

最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1