层叠对象处理装置和方法
技术领域
本发明涉及计算机数据处理技术领域,尤其涉及一种层叠对象处理装置和方法。
背景技术
在目前的大多数计算机编辑或设计软件中,在处理对象选择时常会遇到这样的问题,即,如何选中一个或多个与其它对象存在重叠区域的对象。
在处理这个问题时,通常的做法是:当用户使用输入设备点击时,判断点击区域所在对象,第一个被击中的对象(即,最上层的对象)被选中。这种做法的缺点在于,用户很难选中一个大部分被其他对象覆盖的对象,而如果该对象完全被其他对象覆盖,则根本无法选中。实际操作中,一旦出现对象被覆盖导致无法选中时,用户一般只能通过临时改变对象间的层叠关系或移开上层对象,来达到选中底层对象的目的。而当用户执行所需操作后,还需将被改变的层叠关系或被移开的对象恢复。当对象变得众多时,这种工作将变得越发繁琐和困难。
发明内容
为了解决上述问题,本发明提供一种层叠对象处理装置和方法,以使得即使该对象被其它对象完全覆盖,也可以快速准确地选中所需对象进行处理。
为了实现以上目的,本发明提供一种层叠对象处理装置,包括:
指令输入单元,其接收用于对多个操作对象进行分层的指令;
处理单元,其响应于所述分层指令,将多个操作对象分配到多个层中,其中,将每个操作对象分配到一个层中,并使得每个操作对象存在不被该层内其他操作对象覆盖的区域。
优选地,所述操作对象所分配的层满足以下条件:
1)所述层的数量尽可能的少;
2)一个层内的任意对象与该层内的其余对象相交的面积与所述任意对象的自身面积之比小于R,其中,R为0至1之间的实数。
优选地,进一步包括:
显示单元,其用于显示所述处理单元的处理结果。
优选地,所述指令输入单元还接收用于选择特定层的指令,并且,所述处理单元响应于所述指令,执行以下步骤:
在所述指令中包括所述特定层的层号的情况下,选择与所述层号对应的层;或者
按照层次关系,从默认当前层开始,响应于切换层指令,依次切换所有层,直到所述特定层被选择为止。
优选地,所述指令输入单元还接收用于选择特定层的特定操作对象的指令,并且所述处理单元响应于所述指令,执行以下步骤:
在所述指令中包括所述特定对象的编号及其所在层号的情况下,选择与所述层号和编号对应的操作对象;或者
按照层次关系,从默认当前层开始,响应于切换层指令,依次切换所有层,直到所述特定层被选择为止,并且,将所选特定层设为当前层,从默认当前操作对象开始,响应于切换操作对象指令,依次切换所有操作对象,直到所述特定操作对象被选择为止。
优选地,在显示当前层或当前操作对象时,突出显示当前层内的所有操作对象或当前操作对象,并且淡化其它层内的所有操作对象或当前层内的其它操作对象,并且在选择当前层或当前操作对象时,禁止选择其它层内的所有操作对象或当前层内的其它操作对象。
本发明还提供一种层叠对象处理方法,包括:
接收用于对多个操作对象进行分层的指令;
响应于所述指令,将多个操作对象分配到多个层中,其中,将每个操作对象分配到一个层中,并使得每个操作对象存在不被该层内其他操作对象覆盖的区域。
优选地,所述操作对象所分配的层满足以下条件:
1)所述层的数量尽可能的少;
2)一个层内的任意对象与该层内的其余对象相交的面积与所述任意对象的自身面积之比小于R,其中,R为0至1之间的实数。
优选地,进一步包括:
接收用于选择特定层的指令,并且,响应于所述指令,执行以下步骤:
在所述指令中包括所述特定层的层号的情况下,选择与所述层号对应的层;或者
按照层次关系,从默认当前层开始,响应于切换层指令,依次切换所有层,直到所述特定层被选择为止。
优选地,进一步包括:
接收用于选择特定层的特定操作对象的指令,并且响应于所述指令,执行以下步骤:
在所述指令中包括所述特定对象的编号及其所在层号的情况下,选择与所述层号和编号对应的操作对象;或者
按照层次关系,从默认当前层开始,响应于切换层指令,依次切换所有层,直到所述特定层被选择为止,并且,将所选特定层设为当前层,从默认当前操作对象开始,响应于切换操作对象指令,依次切换所有操作对象,直到所述特定操作对象被选择为止。
有益效果:
通过以上技术方案,本发明将层叠在一起的对象自动分为若干个彼此隔离的层,以使得每一层内的所有操作对象相互重叠的程度最利于后续处理,即使对象完全被其它对象覆盖,也能够快速准确地选中该对象进行处理。
附图说明
图1是根据本发明实施例的层叠对象处理装置的框图;
图2是根据本发明实施例的层叠对象处理方法的流程图;
图3是待处理层叠对象的示例;
图4是层L2为当前层的示图;
图5是层L1为当前层的示图。
具体实施方式
以下,将参照附图和实施例对本发明进行详细描述。
图1是根据本发明实施例的层叠对象处理装置的框图。参照图1,该装置包括指令输入单元100和处理单元200。其中,指令输入单元100接收用于对多个操作对象进行分层的指令;处理单元200响应于分层指令,将多个操作对象分配到多个层中,其中,将每个操作对象分配到一个层中,并使得每个操作对象存在不被该层内其他操作对象覆盖的区域。
其中,操作对象所分配的层L1至Ln(其中,n为层数)满足以下条件:
1)层数n尽可能得少,层数越少,对象选择操作的复杂度就越低;
2)一个层内的任意对象与该层内的其余对象相交的面积与所述任意对象的自身面积之比小于R,其中,R为0至1之间的实数。
关于R的设置,可根据应用的不同,在指定范围内任意取值。显然,R越接近0,层内的任意对象与该层内的其余对象相交的面积越小,层内对象选择也就越简单。R的取值决定n的取值。R越小,分层时n可能越大。即,对象的可重叠面积越小,层就可能越多。实际应用中,一般取一个0.2到0.5的经验值。
这里,指令输入单元100可以是任何已知的供用户输入指令的工具,例如,可以是键盘上的特定功能键,也可以是响应于鼠标等点击装置而执行相应功能的菜单或触摸感应区域。
如图1所示,根据本发明的层叠对象处理装置还可包括显示300,其用于显示所述对象处理单元的处理结果。
在这种情况下,指令输入单元100还可接收用于选择特定层的指令。此时,在所述指令中包括所述特定层的层号的情况下,处理单元200响应于所述指令,选择与所述层号对应的层;或者,按照层次关系,从默认当前层开始,响应于切换层指令,依次切换所有层,直到所述特定层被选择为止。默认当前层可由用户自行设置,比如,可以是第一层、第二层等。
此外,指令输入单元100还可接收用于选择特定层的特定操作对象的指令。此时,在层选择指令中包括所述特定对象的编号及其所在层号的情况下,处理单元200响应于所述指令,在所述指令中选择与所述层号和编号对应的操作对象;或者按照层次关系,从默认当前层开始,响应于切换层指令,依次切换所有层,直到所述特定层被选择为止,并且,将所选特定层设为当前层,从默认当前操作对象开始,响应于切换操作对象指令,依次切换所有操作对象,直到所述特定操作对象被选择为止。
在显示当前层或当前操作对象时,优选地,(比如,以不同的颜色或亮度)突出显示当前层内的所有操作对象或当前操作对象,并且淡化其它层内的所有操作对象或当前层内的其它操作对象。在选择当前层或当前操作对象时,优选地,禁止选择其它层内的所有操作对象或当前层内的其它操作对象。
这里指出,根据本发明的层叠对象处理装置的分层结果可不限于层叠对象选择处理,而是还可应用于其它对象处理操作,比如,可以将分层结果作为文档存储,以备后用。
以下,以层叠对象选择应用作为例子来对本发明进行进一步说明。
图2是由图1所示装置执行的层叠对象选择方法的流程图。参照图2,该方法包括以下步骤:
步骤S1、探测用户指令,当接收到进入对象分层选择模式的指令时,将所有可选对象按照叠放次序从上到下依次序放入n个层L1至Ln中,以使得每个层内的任意对象不与该层内的其余对象完全重叠;
步骤S2、将层L2设为当前层,突出显示当前层内的对象,并淡化显示其它层内的对象,同时仅允许当前层内的对象被选中而禁止其它层内的对象被选中;
步骤S3、探测用户指令,当接收到选择当前层内的某个对象的指令时,对该对象进行选择操作,同时禁止当前层内的其它对象被选中;
步骤S4、探测用户指令,当接收到切换层指令时,将当前层的下一层设为当前层,即,例如设当前层为Lm,则将层Lm+1设为当前层,并如上更新对象显示效果;此时,如果当前层为最后一个层Ln,则将第一个层L1设为当前层;
步骤S5、探测用户指令,当接收到选择当前层内的某个对象的指令时,对该对象进行选择操作,同时禁止当前层内的其它对象被选中;
步骤S6、探测用户指令,当接收到分层选择结束指令时,恢复所有对象原有的显示效果,并退出分层选择模式。
同上,作为另外一种选择或者除此之外,可以例如平铺显示所有层内的对象以供用户选择特定层内的特定对象。
当进入分层选择模式后,除当前层外对象不能被选中外,普通模式下的选择方法和规则均适用于分层选择模式。用户可充分利用分层选择任意对象。
以下,将给出一个具体的示例对层叠对象选择应用进行进一步的说明。
在该示例中,如图3所示,可选对象按叠放次序,由上至下依次为:A、B、C、D、E,虚线表示被覆盖的对象。其中A、B、C位置比较靠上,且彼此重叠的面积较少,所以比较容易被选中。而对象E和D分别被上层对象全部覆盖和部分覆盖,导致在普通选择模式下很难被选中。在本示例中,将快捷键Alt+~和Alt+Esc设为指令输入单元100,分别用于进入分层选择模式、切换层和退出分层选择模式。
当用户按下快捷键Alt+~,即进入分层选择模式。根据上述分层方法,令R=0.2,即在一个层内最多允许一个对象的20%的面积被该层内的其它对象覆盖。此时,所有可选对象被自动分配到两层:A、B、C在L1层,E、D在L2层。
初始状态下,如图4所示,L2层被设置为当前层,对象E、D被突出显示,对象A、B、C则被淡化显示。此时只有E、D允许被选中,以便用户选择时不受其它对象干扰。而当用户需要选中L1层对象时,可以再次按下快捷键Alt+~,将L1切换至当前层,于是如图5所示,对象A、B、C变为可选,E、D变为不可选。整个过程中,用户可以使用快捷键Alt+Esc退出分层选择模式。
以上已参照附图和实施例对本发明进行了详细描述,但是,应该理解,本发明并不限于以上所公开的具体实施例,任何本领域的技术人员在此基础之上容易想到的修改和变型都应包括在本发明的保护范围内。