著录项信息
专利名称 | 在交互界面上进行目标对象选中的方法及装置 |
申请号 | CN200810119918.2 | 申请日期 | 2008-09-09 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-03-17 | 公开/公告号 | CN101673168 |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F3/048 | IPC分类号 | G;0;6;F;3;/;0;4;8查看分类表>
|
申请人 | 联想(北京)有限公司 | 申请人地址 | 北京市海淀区上地信息产业基地创业路6号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 联想(北京)有限公司 | 当前权利人 | 联想(北京)有限公司 |
发明人 | 周光;叶颖华;郜远 |
代理机构 | 北京集佳知识产权代理有限公司 | 代理人 | 逯长明 |
摘要
本发明提供了一种在交互界面上进行目标对象选中的方法及装置,该方法包括步骤:使指点指针在交互界面上以一条连续线移动;记录所述指点指针在所述交互界面上以一条连续线移动时所形成的移动轨迹;根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象;选中所述目标对象。本发明以线选的方式在交互界面上进行目标选中的方法,更加符合用户在真实世界中的自然交互习惯,减少了用户精准认知的负担,降低了操作的错误率,提高了交互效率,使交互的精确度更高。
1.一种在交互界面上进行目标对象选中的方法,其特征在于,包括步骤:
使指点指针在交互界面上以一条连续线移动;
记录所述指点指针在所述交互界面上以一条连续线移动时所形成的移动轨迹;
根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象;
选中所述目标对象;
其中,所述移动轨迹具有交点时,所述目标对象为:距离所述交点最近的目标对象、在所述移动轨迹的封闭范围内的且距离所述交点最近的目标对象、所述移动轨迹的封闭范围内的目标对象或在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象。
2.如权利要求1所述的方法,其特征在于,所述交点为在形成所述移动轨迹过程中因第一次相交而形成的点。
3.如权利要求1所述的方法,其特征在于,所述移动轨迹的交点小于4个。
4.如权利要求1所述的方法,其特征在于,当所述目标对象为在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象时,所述确定跟所述移动轨迹相关的目标对象包括:
确定所述交点;
确定所述指点指针在第二次经过所述交点之后的移动轨迹;
确定在所述封闭范围内,并且所述第二次经过所述交点之后的移动轨迹所经过的目标对象。
5.一种在交互界面上进行目标对象选中的装置,其特征在于,包括输入设备、输出设备、指点设备驱动模块、预处理模块和选中模块,其中
输出设备,用来显示交互界面;
输入设备,用来调动指点指针在所述交互界面上移动;
指点设备驱动模块,用来获取所述交互界面上的所述指点指针的移动轨迹;
预处理模块,用来跟据所述移动轨迹提取跟所述移动轨迹相关的目标对象;
选中模块,用来选中所述目标对象;
其中,所述移动轨迹具有交点时,所述目标对象为:距离所述交点最近的目标对象、在所述移动轨迹的封闭范围内的且距离所述交点最近的目标对象、所述移动轨迹的封闭范围内的目标对象或在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象。
在交互界面上进行目标对象选中的方法及装置\n技术领域\n[0001] 本发明涉及数字处理技术领域,特别涉及一种在交互界面上进行目标对象选中的方法和装置。\n背景技术\n[0002] 目前,显示屏广泛存在于多种电子设备中,例如电脑、手机、游戏机等。显示屏用来显示电子设备与外界的交互界面,从而实现电子设备与外界的信息交互。显示屏分为触摸式和非触摸式,触摸式显示屏(触摸屏)是通过人手、写字笔或者其它装置来直接接触显示屏,在显示屏上点击来实现交互界面上目标对象的选中,非触摸式显示屏(普通屏)是通过鼠标或者其它旋钮来在显示屏上点击来实现交互界面上目标对象的选中。\n[0003] 然而,目前不论是利用触摸屏的设备还是利用普通屏的设备,选中目标对象的方法中往往都是通过点选的方式,都是通过外部设备,例如触摸屏、鼠标或者旋钮等,来调动指点指针在交互界面上精确定位目标对象,再确定选中,例如图1所示利用鼠标进行选中的方法具体为:通过鼠标的移动,将指点指针移动到交互界面上的目标对象上,再用鼠标点击目标对象,从而使指点指针选中目标对象。而触摸屏则是用手或者写字笔在触摸屏上移动,将指点指针移动到交互界面上的目标对象上,再用手或者写字笔点击目标对象,从而使指点指针选中目标对象。因此可以看出在上述选中方式中,都是采用点选的方式,这就需要输入设备精确的定位目标对象,因此使交互效率较低,而且容易出错。\n[0004] 进一步的,随着交互方式的多样化,如利用触摸屏的普及,传统的点选目标对象的方式在通用性上遇到了挑战。传统交互界面长期以来都是针对以鼠标为主的输入设备,因此交互界面尺寸和交互界面上的对象的尺寸都很小,致使很多交互界面,并不适合手或写字笔,尤其是窗口、下拉菜单或者选项按钮等,因此影响了最终的输入效果,使交互效率较低,而且容易出错。\n[0005] 为了使交互界面更适合触摸操作,也有一些改进的技术方案,例如增大交互界面的尺寸、增加按钮或滚动条的尺寸,但是交互界面完全的修改是一个长期的过程,需要各厂商的参与支持,完全实现所有交互界面对于触摸交互界面的支持,目前来看,还为时尚早。\n而且改变了交互界面尺寸又会变的不适合鼠标这类精确定位的输入设备,同时改变了用户的使用习惯。还有的改进技术方案利用间接控制,例如Microsoft Windows vista操作系统中的触摸指点指针的方法是用手指调出一个虚拟鼠标,再操作这个虚拟鼠标。这类方案的缺点是使交互方式出现迂回,效率降低。\n[0006] 因此从上述内容可以看出,现有的以点选的方式选中目标对象的方法,存在交互效率低,容易出错的问题。\n[0007] 尤其对于现有的交互界面,通过触摸屏以点选的方式选中目标对象的方法使得交互效率更低,更加容易出错,甚至不能实现选中。\n发明内容\n[0008] 为了解决上述问题,本发明实施例提供了一种以线选的方式在交互界面上进行目标选中的方法,提高了交互效率,使交互的精确度更高。\n[0009] 本发明的一个实施例提供如下技术方案:一种在交互界面上进行目标对象选中的方法,包括步骤:使指点指针在交互界面上以一条连续线移动;记录所述指点指针在所述交互界面上以一条连续线移动时所形成的移动轨迹;跟据所述移动轨迹,确定跟所述移动轨迹相关的目标对象;选中所述目标对象;\n[0010] 其中,所述移动轨迹具有交点时,所述目标对象为:距离所述交点最近的目标对象、在所述移动轨迹的封闭范围内的且距离所述交点最近的目标对象、所述移动轨迹的封闭范围内的目标对象或在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象。\n[0011] 在上述实施例中,\n[0012] 优选的,所述交点为在形成所述移动轨迹过程中因第一次相交而形成的点。\n[0013] 优选的,所述移动轨迹的交点小于4个。\n[0014] 优选的,当所述目标对象为在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象时,所述确定跟所述移动轨迹相关的目标对象包括:确定所述交点;确定所述指点指针在第二次经过所述交点之后的移动轨迹;确定在所述封闭范围内,并且所述第二次经过所述交点之后的移动轨迹所经过的目标对象。\n[0015] 本发明的另一个实施例提供如下技术方案:一种在交互界面上进行目标对象选中的装置,包括输入设备、输出设备、指点设备驱动模块、预处理模块和选中模块,其中[0016] 输出设备,用来显示交互界面;\n[0017] 输入设备,用来调动指点指针在所述交互界面上移动;\n[0018] 指点设备驱动模块,用来获取所述交互界面上的所述指点指针的移动轨迹;\n[0019] 预处理模块,用来跟据所述移动轨迹提取跟所述移动轨迹相关的目标对象;\n[0020] 选中模块,用来选中所述目标对象;\n[0021] 其中,所述移动轨迹具有交点时,所述目标对象为:距离所述交点最近的目标对象、在所述移动轨迹的封闭范围内的且距离所述交点最近的目标对象、所述移动轨迹的封闭范围内的目标对象或在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象。\n[0022] 上述实施例中的至少一实施例具有如下至少的优点:\n[0023] 由于以线选的方式代替点选的方式,在交互界面上进行目标对象的选中,所以本发明实施例中的技术方案更加符合用户在真实世界中的自然交互习惯,减少了用户精准认知的负担,降低了操作的错误率,提高了交互效率,使交互的精确度更高。\n附图说明\n[0024] 图1为现有技术中一种在交互界面上点选目标对象的方法;\n[0025] 图2为本发明的在交互界面上进行目标对象选中的方法一实施例的流程图;\n[0026] 图3-图8为本发明的在交互界面上进行目标对象选中的方法中一种指点指针在交互界面上的移动轨迹示意图;\n[0027] 图9为本发明的在交互界面上进行目标对象选中的装置结构示意图;\n[0028] 图10为本发明的第四实施例中,在交互界面上进行目标对象选中的装置工作示意图。\n具体实施方式\n[0029] 下面结合附图对本发明的具体实施方式做详细的说明。\n[0030] 下面实施例为本发明在具有触摸屏幕的手机,或者电脑中的应用。\n[0031] 实施一\n[0032] 本实施例以触摸式显示屏为例,进行说明。触摸屏用来显示交互界面,便于用户操作。同时触摸屏即是输出设备又是输入设备,作为输出设备,触摸屏将交互界面显示出来;\n作为输入设备,用户可以通过触摸屏调动指点指针,从而将信息输入交互界面,然后执行相应的操作。\n[0033] S100:使指点指针在交互界面上以一条连续线移动。\n[0034] 用户如果想要选中显示屏上的某个目标对象,首先需要在触摸屏上用手指或写字笔围绕想选中的目标对象画一条具有交点的连续线,例如闭合曲线,同时触摸屏会调动指点指针在交互界面上跟手指或写字笔进行相同轨迹的移动。例如指点指针的移动轨迹如图\n3所示,图3中为在交互界面上建立坐标系,其中横轴为x轴,纵轴为y轴,因此曲线上的点就对应于该坐标系中的横坐标和纵坐标,例如曲线上的点D1,就对应的横坐标为x1,纵坐标为y1。\n[0035] S105:记录所述指点指针在所述交互界面上以一条连续线移动时所形成的移动轨迹。\n[0036] 当指点指针在交互界面上移动的同时,记录指点指针从起始点移动所经过交互界面上的点的位置坐标,也就是指点指针的移动轨迹。例如如图3所示的,从写字笔接触触摸屏的位置为起始点D1,起始点D1的坐标为(x1、y1),这时相应的指点指针在交互界面上对应相同的起始点D1,从此时起指点设备驱动模块记录指点指针在交互界面上移动经过的所有点的坐标,也可以记录特殊点的坐标,例如拐点坐标或者间隔相同距离的点的坐标。在本实施例中记录指点指针移动轨迹的从起始点D1到结束点D11的所有拐点的坐标,其中结束点D11也就是写字笔抬起离开触摸屏的位置,对应的指点指针在交互界面上的停止位置也为D11,例如下表中的D1-D11:\n[0037] \n 序号 类型 坐标值\n D1 起始点 x1,y1\n D2 拐点 x2,y2\n D3 拐点 x3,y3\n D4 拐点 x4,y4\n D5 拐点 x5,y5\n D6 拐点 x6,y6\n D7 拐点 x7,y7\n D8 拐点 x8,y8\n D9 拐点 x9,y9\n D10 拐点 x10,y10\n D11 结束点 x11,y11\n[0038] S110:根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象。\n[0039] 在本实施例中具体可以为当所述指点指针在交互界面上的移动轨迹出现交点时,计算交点的位置。所述计算交点可以利用本领域技术人员熟知的方法,例如判断点D1、D2之间的线段和点D3、D4之间的线段是否有交点;然后依次判断任意两段不相邻的线段是否有交点。当计算到有交点时,则利用本领域技术人员熟知的方法计算交点的位置坐标,例如交点Dj的坐标为(5,8)。\n[0040] 在本实施例中具体采用下面的方法来计算交点位置:\n[0041] 其中K为指点指针移动轨迹上点的总数,n、m为自然数,\n[0042] \n[0043] 上述算法包含了一个子算法,也就是判断两条线段是否有交点。此算法为本领域技术人员熟知的,因此不再赘述。\n[0044] 根据交点的位置坐标,计算距离交点最近的目标对象,可以利用本领域技术人员熟知的方法,例如通常目标对象在交互界面上具有一定的面积,因此目标对象在坐标系中需要用坐标阵列表示,那么只要交点的坐标位于目标对象的坐标阵列内则说明该目标对象就为交点所在位置的目标对象,因此可以通过交点的坐标搜索到交点位置对应的目标对象。如图4所示,例如在一个实施例中,可以通过比对交点Dj的位置坐标(5,8)和目标对象M1的横坐标在1-10,纵坐标在6-9范围内的坐标阵列,从而可以判断出交点Dj的位置对应的目标对象为目标对象M1,目标对象M1也就是距离交点Dj最近的目标对象。\n[0045] 另外,如果交点也为一个坐标阵列,也可以通过比对交点的位置坐标阵列和目标对象的位置坐标阵列,从而确定位于交点位置的目标对象。\n[0046] 除此之外,还可以确定指点指针的多个交点,例如2个、3个所经过的目标对象。\n[0047] 从上述实施例中所述交点为在形成所述移动轨迹过程中因第一次相交而形成的点,除此之外,也可以为第二次和第三次相交而形成的点。\n[0048] 在上述实施例中,所述的移动轨迹的交点少于4个。当交点大于4个为不可识别的操作。\n[0049] 除上述之外,在本实施例中,步骤110还可以包括:如果交点位置没有目标对象,则寻找距离交点最近的目标对象,例如可以通过目标对象的坐标阵列,确定距离所述交点最近的目标对象的坐标阵列,从而可以得到距离所述交点最近的目标对象。\n[0050] 另外,所述目标对象还可以为:在所述移动轨迹的封闭范围内的且距离所述交点最近的目标对象。确定跟所述移动轨迹相关的目标对象的方法可以为:\n[0051] 因为指点指针在交互界面上以一条连续线移动,且移动轨迹具有交点,因此移动轨迹可以包括闭合曲线,因此计算所述移动轨迹的封闭范围内的目标对象,也就是所述闭合曲线范围内的目标对象。可以利用本领域技术人员熟知的方法,例如如图5所示,先确定所述移动轨迹Q1的封闭范围内的点的坐标,比对所述点的坐标和目标对象的阵列,从而确定在移动轨迹Q1的封闭范围内的目标对象,例如M1和M2。再比对在移动轨迹Q1范围内的目标对象M1、M2和交点Dj的坐标,从而确定在移动轨迹Q1的封闭范围内的目标对象M1和M2中距离所述交点Dj位置最近的目标对象M1。\n[0052] S120:选中所述目标对象。\n[0053] 然后选中目标对象M1,选中方式可以采用本领域技术人员熟知的方法,例如可以通过Windows的系统消息发送API函数调用方式,直接向该交点所在位置发送一个点击消息,具体可以使用SendMessage函数向当前窗口发送鼠标单击消息来选中交点位置的目标对象M1。\n[0054] 另外,步骤110也可以不判断交点位置是否有目标对象,直接向该交点位置发送鼠标单击消息来选中交点位置的目标对象。\n[0055] 实施例二\n[0056] 在本实施例中以非触摸式显示屏(普通屏)为例进行说明。因为是普通屏因此不能作为输入设备,需要鼠标作为输入设备。因此在本实施例中所述指点指针为鼠标指针,所述指点设备为鼠标。\n[0057] S200:使指点指针在交互界面上以一条连续线移动。\n[0058] 具体可以为:拖动鼠标,使鼠标带动指点指针在交互界面上以一条连续线移动,形成如图6所示的移动轨迹Q2,所述移动轨迹具有交点,因此包括闭合曲线,并且在该移动轨迹Q2的封闭范围内具有所要选中的目标对象M3。也就是在闭合曲线的封闭范围内具有所要选中的目标对象M3。\n[0059] S205:记录所述指点指针在所述交互界面上以一条连续线移动时所形成的移动轨迹。\n[0060] 记录移动轨迹Q2在交互界面上的位置坐标。\n[0061] S210:根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象。\n[0062] 在本实施例中具体为:确定所述移动轨迹的封闭范围内的目标对象。具体为确定所述移动轨迹Q2的封闭范围内的目标对象M3。可以利用本领域技术人员熟知的方法,例如先确定移动轨迹Q3的封闭范围内的点的坐标,比对所述点的坐标和目标对象M3的阵列,从而确定目标对象M3为在移动轨迹的封闭范围内的目标对象。\n[0063] S220:选中所述目标对象。\n[0064] 在本实施例中可以具体为:选中所述移动轨迹的封闭范围内的目标对象。选中方式可以采用本领域技术人员熟知的方法,例如可以通过Windows的系统消息发送API函数调用方式,直接向该交点所在位置发送一个点击消息,具体可以使用SendMessage函数向当前窗口发送鼠标单击消息来选中交点位置的目标对象M3。如果交点位置没有目标对象,则寻找与交点位置距离最近的目标对象,例如可以通过目标对象的阵列,判断与交点位置最近的阵列,从而可以得到与交点位置距离最近的目标对象,选中该目标对象,例如可以通过Windows的系统消息发送API函数调用方式,向该目标对象的所在位置发送一个点击消息,例如使用SendMessage函数向当前窗口发送鼠标单击消息来选中交点位置的目标对象。\n[0065] 从上述实施例中,所述交点为在形成所述移动轨迹过程中因第一次相交而形成的点,除此之外,也可以为第二次和第三次相交而形成的点。\n[0066] 在上述实施例中,所述的移动轨迹的交点少于4个。当交点大于4个为不可识别的操作。\n[0067] 另外,在上述实施例中当移动轨迹的封闭范围内包括不止一个目标对象时,所述目标对象具体为:在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象。例如可以具体采用下列方法根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象:在所述移动轨迹的封闭范围内的目标对象中搜索所述活动轨迹经过的目标对象。例如如图7所示,所述移动轨迹Q2包括闭合曲线Q3,移动轨迹Q2上除闭合曲线Q3之外的部分为第一曲线Q4;然后计算第一曲线Q4的位置;接着在所述移动轨迹Q2的封闭范围内的目标对象中计算第一曲线Q4所经过的目标对象。\n[0068] 根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象可以具体为:确定所述交点Dj;确定所述指点指针在第二次经过所述交点Dj之后的移动轨迹;确定在所述封闭范围内,并且所述第二次经过所述交点Dj之后的移动轨迹所经过的目标对象。\n[0069] 实施例三\n[0070] 在本实施例中以非触摸式显示屏(普通屏)为例进行说明。因为是普通屏,因此不能作为输入设备,需要鼠标作为输入设备。\n[0071] S300:使指点指针在交互界面上以一条连续线移动。\n[0072] S305:记录所述指点指针在所述交互界面上以一条连续线Q4移动时所形成的移动轨迹。\n[0073] 记录如图8所示的移动轨迹Q4的在交互界面上的位置坐标。S310:根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象。\n[0074] 在本实施例中为计算所述移动轨迹所经过的目标对象M3。例如利用指点指针在交互界面上的移动轨迹的坐标来搜索移动轨迹所经过的目标对象。\n[0075] S320:选中所述目标对象M3。\n[0076] 选中所述移动轨迹所经过的目标对象。参考实施例一或二,不再赘述。\n[0077] 除上述3个实施例之外,还可以采用其他的方式跟据指点指针的移动轨迹确定和移动轨迹相关的目标对象,例如移动轨迹可以不具有交点,所要选中的目标对象可以为经过大于一半长度的移动轨迹的目标对象。\n[0078] 另外上述实施例还可以结合使用,例如先判断在指点指针的移动轨迹的封闭范围内是否有目标对象,如果有则选中,如果没有则判断移动轨迹的封闭范围内距离移动轨迹的交点距离最近的目标对象或者移动轨迹经过的目标对象,选中。\n[0079] 实施例四\n[0080] 一种在交互界面上进行目标对象选中的装置,包括输入设备10、指点设备驱动模块20、预处理模块30、选中模块40和输出设备50,其中,输出设备50用来显示交互界面;\n输入设备10用来调动指点指针在交互界面上移动;指点设备驱动模块20用来获取交互界面上的指点指针活动轨迹;预处理模块30用来跟据所述指点指针的移动轨迹提取跟所述移动轨迹相关的目标对象;选中模块40用来选中所述目标对象。\n[0081] 在本实施例中,输入设备10可以为鼠标或者触摸显示屏。\n[0082] 指点设备驱动模块20包括指点指针和记录模块,指点指针的作用是定位要选中的目标对象在交互界面上的位置,记录模块的作用是记录指点指针的移动轨迹。\n[0083] 指点设备驱动模块的指点指针在交互界面上以一条连续线移动,并且记录所述指点指针在所述交互界面上以一条连续线移动时所形成的移动轨迹。所述移动轨迹可以具有交点。\n[0084] 预处理模块30根据所述移动轨迹,确定跟所述移动轨迹相关的目标对象。具体可以采用下述方法:\n[0085] 例如确定距离所述交点位置最近的目标对象。\n[0086] 或者,确定所述移动轨迹的封闭范围内的目标对象。\n[0087] 或者,确定所述移动轨迹的封闭范围内的且距离所述交点最近的目标对象。\n[0088] 或者,确定在所述移动轨迹的封闭范围内且被所述移动轨迹所经过的目标对象[0089] 选中模块40选中所述目标对象。\n[0090] 例如在交互界面上进行目标对象选中的装置可以是计算机,选中模块40包括Window窗口管理模块和应用程序窗口。通过指点设备,例如鼠标的移动,使指点指针在交互界面上移动,指点设备驱动模块的记指点指针的移用轨迹,将包含移动轨迹的指点消息发送给预处理模块,预处理模块根据预定的信息确定指点指针选中的目标对象,并将包含该目标对象的Window指点消息发送给计算机的Window窗口管理模块,Window窗口管理模块向应用程序窗口发出选中指令。\n[0091] 本发明虽然以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。
法律信息
- 2012-03-28
- 2010-04-28
实质审查的生效
IPC(主分类): G06F 3/048
专利申请号: 200810119918.2
申请日: 2008.09.09
- 2010-03-17
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2008-08-27
|
2007-03-11
| | |
2
| |
2006-06-21
|
2005-06-17
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |