首页 / 专利库 / 专利权 / 申请 / 国际申请 / 权利要求 / 一种手势操作的识别方法

一种手势操作的识别方法

阅读:983发布:2021-04-13

专利汇可以提供一种手势操作的识别方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及触屏设备的手势操作技术领域,公开了一种手势操作的识别方法,应用于安装在触屏设备上的指挥终端 软件 ,触屏设备安装有支持触屏的 操作系统 ,该识别方法包括:监听操作系统 用户界面 软件的多个触摸事件;若监听到的触摸事件为触摸开始中事件,则设置触摸开始中事件的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件;在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:若再次监听到的触摸事件为 位置 的变换事件,则获取对应的缩放向量;在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。,下面是一种手势操作的识别方法专利的具体信息内容。

1.一种手势操作的识别方法,其特征在于,应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,所述方法包括:
监听操作系统用户界面软件的多个触摸事件;
若监听到的触摸事件为触摸开始中事件,则设置所述触摸开始中事件的参数的属性:
将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使所述操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体在所述控件上的位置计算对应的缩放向量;
在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
2.如权利要求1所述的识别方法,其特征在于,所述若监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作具体为:
若监听到的触摸事件为触摸完成事件或边界反馈事件,则计算最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值;
当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值大于放大临界值时,则识别手势操作为放大操作;
当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值小于缩小临界值时,则识别手势操作为缩小操作。
3.如权利要求2所述的识别方法,其特征在于,若监听到的触摸事件为触摸开始中事件,还包括设置第一次移动的布尔量为真;
则当监听到位置的变换事件后,还包括:
判断所述第一次移动的布尔量是否为真,若为真,则将获取的缩放向量记录到全局变量中,并保存为第一次获取的缩放向量,并设置所述第一次移动的布尔量为假;
若为假,则采用最新获取的缩放向量更新全局变量的值;
当监听到触摸完成事件或边界反馈事件时,所述全局变量中记录的缩放向量为所述最后一次获取的缩放向量。
4.如权利要求3所述的识别方法,其特征在于,若监听到的触摸事件为触摸开始中事件,还包括:
设置正在拖动的布尔量为假;
初始化与监听到的位置的变换事件的总次数对应的变量;
则当监听到位置的变换事件后,还包括:
累计监听到的位置的变换事件的次数;
判断所述正在拖动的布尔量是否为假,判断所述监听到的位置的变换事件的总次数是否大于设定阈值,判断当前获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等;
若所述第一次移动的布尔量为假,所述正在拖动的布尔量为假,所述监听到的位置的变换事件的总次数大于设定阈值,且每次获取的缩放向量的模长与第一次获取的缩放向量的模长均相等,则识别手势操作为拖动操作。
5.如权利要求4所述的识别方法,其特征在于,当识别手势操作为拖动操作后,还包括设置所述正在拖动的布尔量为真。
6.如权利要求1所述的识别方法,其特征在于,若监听到的触屏事件为触摸开始中事件、触摸已经开始事件、位置的变换事件、触摸完成事件或边界反馈事件中的任一个事件,还包括:
设置对应的触屏事件不传递到上层控件。
7.如权利要求1所述的识别方法,其特征在于,在监听到触摸开始事件后,若触摸物体离开控件,则识别手势操作为点击操作。
8.如权利要求1所述的识别方法,其特征在于,在监听到触摸已经开始事件后,若再次监听到的触摸事件为触摸完成事件,则操作结束。
9.一种手势操作的识别方法,其特征在于,应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,所述方法包括:
当检测到有触摸物体触摸控件时,操作系统用户界面软件触发触摸开始中事件;
当在设定的时间内检测到触摸物体保持不动时,所述操作系统用户界面软件触发触摸已经开始事件;
当每次检测到触摸物体在控件范围内移动时,所述操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体的位置计算对应的缩放向量,并触发位置的变换事件;
当检测到触摸物体离开控件后,所述操作系统用户界面软件触发触摸完成事件;
当检测到触摸物体触摸控件的边界后,所述操作系统用户界面软件触发边界反馈事件。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8任一项所述的识别方法中的步骤。

说明书全文

一种手势操作的识别方法

技术领域

[0001] 本发明涉及触屏设备的手势操作技术领域,尤其涉及一种手势操作的识别方法。

背景技术

[0002] 指挥终端软件是对系统中设备、资源进行处理、监控和控制,利用数字化的语音通信和高清压缩的视频编码,通过网络传输控制,实现设备视频的监控、指挥调度、双向呼叫和对讲等功能的终端软件。一般的指挥终端软件主要的使用场景是配备键盘鼠标的,软件整体设计也是基于键鼠操作而设计的,没有考虑触摸屏设备的控制。
[0003] 微软的Windows 7及以上版本的操作系统提供了对触屏设备的支持,如果在触屏设备上安装了Windows 7及以上的操作系统,系统默认支持简单的触屏点击操作(相当于鼠标的点击操作)、触屏双击操作(相当于鼠标的双击操作)、触屏滑动操作(相当于鼠标的滚轮滑动操作)、拖拽操作(相当于鼠标点击并保存按下状态并拖动鼠标的操作)、按压操作(相当于鼠标的右键操作)。
[0004] 操作系统提供的默认的触屏操作行为只能满足部分的使用场景,而操作系统对于缩小、放大等手势的操作并不支持,在进行缩放操作时往往通过模拟鼠标的行为进行,比如放大视频显示区域的操作往往需要设置一个按钮或者使用双击操作,不符合操作习惯。

发明内容

[0005] 本发明提供一种手势操作的识别方法,提高软件操作的灵活性。
[0006] 第一方面,本发明实施例提供了一种手势操作的识别方法,该方法应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,该方法包括:
[0007] 监听操作系统用户界面的多个触摸事件;
[0008] 若监听到的触摸事件为触摸开始中事件,则设置所述触摸开始中事件的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使所述操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体在所述控件上的位置计算对应的缩放向量;
[0009] 在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
[0010] 若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
[0011] 在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
[0012] 上述实施例中,在监听到触摸开始中事件后,通过将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使得操作系统用户界面软件的触屏事件和计算都基于所设置的缩放模式以及与之相关的控件容器进行;在每次监听到位置的变换事件后,获取与当前触摸物体的位置相对应的缩放向量,而一旦监听到触摸完成事件或边界反馈事件,则根据所得到的缩放向量的变化识别出该手势操作,此时需要缩放的控件,如视频窗口就会按照所识别出的手势进行放大或缩小了,提高了软件操作的灵活性。
[0013] 可选的,所述若监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作具体为:
[0014] 若监听到的触摸事件为触摸完成事件或边界反馈事件,则计算最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值;
[0015] 当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值大于放大临界值时,则识别手势操作为放大操作;
[0016] 当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值小于缩小临界值时,则识别手势操作为缩小操作。
[0017] 可选的,若监听到的触摸事件为触摸开始中事件,还包括设置第一次移动的布尔量为真;
[0018] 则当监听到位置的变换事件后,还包括:
[0019] 判断所述第一次移动的布尔量是否为真,若为真,则将获取的缩放向量记录到全局变量中,并保存为第一次获取的缩放向量,并设置所述第一次移动的布尔量为假;
[0020] 若为假,则采用最新获取的缩放向量更新全局变量的值;
[0021] 当监听到触摸完成事件或边界反馈事件时,所述全局变量中记录的缩放向量为所述最后一次获取的缩放向量。
[0022] 可选的,若监听到的触摸事件为触摸开始中事件,还包括:
[0023] 设置正在拖动的布尔量为假;
[0024] 初始化与监听到的位置的变换事件的总次数对应的变量;
[0025] 则当监听到位置的变换事件后,还包括:
[0026] 累计监听到的位置的变换事件的次数;
[0027] 判断所述正在拖动的布尔量是否为假,判断所述监听到的位置的变换事件的总次数是否大于设定阈值,判断当前获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等;
[0028] 若所述第一次移动的布尔量为假,所述正在拖动的布尔量为假,所述监听到的位置的变换事件的总次数大于设定阈值,且每次获取的缩放向量的模长与第一次获取的缩放向量的模长均相等,则识别手势操作为拖动操作。
[0029] 可选的,当识别手势操作为拖动操作后,还包括设置所述正在拖动的布尔量为真。
[0030] 可选的,若监听到的触屏事件为触摸开始中事件、触摸已经开始事件、位置的变换事件、触摸完成事件或边界反馈事件中的任一个事件,还包括:
[0031] 设置对应的触屏事件不传递到上层控件。
[0032] 可选的,在监听到触摸开始事件后,若触摸物体离开控件,则识别手势操作为点击操作。
[0033] 可选的,在监听到触摸已经开始事件后,若再次监听到的触摸事件为触摸完成事件,则操作结束。
[0034] 第二方面,本发明实施例还提供了一种手势操作的识别方法,该方法应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,所述方法包括:
[0035] 当检测到有触摸物体触摸控件时,所述操作系统用户界面触发触摸开始中事件;
[0036] 当在设定的时间内检测到触摸物体保持不动时,所述操作系统用户界面触发触摸已经开始事件;
[0037] 当每次检测到触摸物体在控件范围内移动时,所述操作系统用户界面基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体的位置计算对应的缩放向量,并触发位置的变换事件;
[0038] 当检测到触摸物体离开控件后,所述操作系统用户界面触发触摸完成事件;
[0039] 当检测到触摸物体触摸控件的边界后,所述操作系统用户界面触发边界反馈事件。
[0040] 第三方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一种技术方案所述的识别方法中的步骤。附图说明
[0041] 图1为本发明实施例提供的指挥终端软件基于触屏事件实现手势缩放的流程图
[0042] 附图标记:
[0043] 10-触摸开始中事件
[0044] 20-触摸已经开始事件
[0045] 30-位置的变换事件
[0046] 40-触摸完成事件
[0047] 50-边界反馈事件

具体实施方式

[0048] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0049] 本发明实施例提供了一种手势操作的识别方法,该识别方法应用于安装在触屏设备上的指挥终端软件,以提高指挥终端软件的操作灵活性,上述触屏设备安装有支持触屏的操作系统,如win7及win7以上任一种操作系统。
[0050] 具体的,该方法包括:
[0051] 监听操作系统用户界面的多个触摸事件;
[0052] 若监听到的触摸事件为触摸开始中事件,则设置触摸开始中事件的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为控件,根据触摸物体在控件上的位置计算对应的缩放向量;
[0053] 在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
[0054] 若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
[0055] 在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
[0056] 上述实施例中,在监听到触摸开始中事件后,通过将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使得操作系统用户界面的触屏事件和计算都基于所设置的缩放模式以及与之相关的控件容器进行;在每次监听到位置的变换事件后,获取与当前触摸物体的位置相对应的缩放向量,而一旦监听到触摸完成事件或边界反馈事件,则根据所得到的缩放向量的变化识别出该手势操作,此时需要缩放的控件,如视频窗口就会按照所识别出的手势进行放大或缩小了,提高了软件操作的灵活性。
[0057] 该识别方法适用于基于WPF(Windows Presentation Foundation)框架的指挥终端软件,也适用于基于WPF框架的其它终端软件。
[0058] 为了更加清楚的了解本发明实施例提供的手势操作的识别方法,现结合附图进行详细的描述。
[0059] 从触摸物体触摸屏幕,在屏幕上移动到离开屏幕的这个过程,WPF将触发相应的触屏事件,具体通过以下过程实现:
[0060] 第一步是对手指触碰的捕获。对于支持触屏的设备需要搭配支持触屏的操作系统才能完成触屏功能,触屏设备硬件有相应的驱动程序,驱动程序检测手指或其他可触碰的物体,当手指或触碰物体接触物理触屏设备屏幕时,驱动程序检测到相应的硬件通知,将触摸物体与屏幕接触的位置以及实际触摸的物体个数通知给操作系统,操作系统收到通知后会通过WPF的事件通知上来,通过监听这些事件,就可以捕获到触碰操作。
[0061] 第二步是手指等触碰物体的移动检测。驱动程序定时检测触碰物体在屏幕上的位置变化,如果某一个触碰物体的坐标位置发生改变,通知到操作系统,WPF框架将操作系统的消息封装成相应的触屏事件通知上来,从而可以知道触摸物体的位置变化。
[0062] 最后是触摸操作完成时触摸物体离开屏幕的检测。同样是驱动程序通过硬件的反馈检测到物体离开屏幕后,通知给操作系统,操作系统触发相应的Windows消息,而WPF对消息进行处理,通过事件通知给使用者。
[0063] 所以整个的触屏操作基于WPF的事件,Windows已经处理了对触屏的触摸物体检测、触摸物体移动、触摸物体释放等相应操作的消息,WPF对消息进行了封装,通知给实际使用者。
[0064] 接下来通过WPF的事件通知就可以完成对缩放手势的处理了,WPF有多个基于触屏的高级事件通知,分别是触摸开始中事件、触摸已经开始事件、位置的变换事件、惯性通知事件、触摸完成事件、边界反馈事件等。
[0065] 图1中示出了指挥终端软件基于WPF的触屏事件识别手势操作的流程图,从触摸开始到触摸结束,依次监听到的WPF的触摸事件为:触摸开始中事件10、触摸已经开始事件20、多个位置的变换事件30、触摸完成事件40或边界反馈事件50,该识别手势操作的方法具体包括:
[0066] 监听操作系统用户界面软件的多个触摸事件,具体以WPF为例进行说明;
[0067] 具体的,首先设置需要缩放的控件的一个属性开启WPF的高级触屏功能,默认这个属性是没有开启的,设置了控件的这个属性之后,这个控件就可以收到ManipulationStarting(触屏开始中事件)、ManipulationStarted(触屏已经开始事件)、ManipulationDelta(位置的变换事件30)、ManipulationCompleted(触摸完成事件40完成)、ManipulationBoundaryFeedback(边界反馈事件50)等等这些事件;
[0068] 若监听到的触摸事件为触摸开始中事件10,则设置触摸开始中事件10的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为上述控件,根据触摸物体在该控件上的位置计算对应的缩放向量;
[0069] 在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
[0070] 若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
[0071] 具体的,触摸物体(可以为手指、触控笔等)在移动过程中,触摸点的位置不断发生变化,WPF每触发一个位置的变换事件30,都说明触摸点的位置变化了一次,WPF将综合考虑触摸物体的个数以及当前每个触摸物体的位置,并根据设定的算法计算所对应的缩放向量an(n≥1);每次监听到位置的变换事件30时,获取对应的缩放向量,通过缩放向量的变化规律可以判断出触摸物体移动的趋势,若所获取的缩放向量的模长逐渐增大,则认为触摸物体在移动过程中有向外扩张的趋势,若所获取的缩放向量的模长逐渐缩小,则认为触摸物体在移动过程中有向内闭合的趋势;
[0072] 在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
[0073] 具体的,当触摸物体离开控件时,WPF触发触摸完成事件40,当触摸物体触碰控件的边界时,WPF触发边界反馈事件50,而一旦监听到触摸完成事件40或边界反馈事件50中的任一个事件,则通过缩放向量的变化判断是否满足缩放的条件;若满足放大条件,则识别手势操作为放大操作,若满足缩小条件,则识别手势操作为缩小操作,此时,在指挥终端软件中,通过上述方法即可使需要缩放的视屏窗口按照所识别出的手势进行放大或缩小,提高了软件操作的灵活性。
[0074] 在一个具体的实施例中,若监听到的触摸事件为触摸完成事件40或边界反馈事件50,则根据缩放向量的变化识别手势操作具体为:
[0075] 若监听到的触摸事件为触摸完成事件40或边界反馈事件50,则计算最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值;
[0076] 当最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值大于放大临界值时,则识别手势操作为放大操作;也就是说,触摸物体逐渐向外扩张的过程中,若监听到触摸完成事件40(至少有一个触摸物体离开屏幕)或边界反馈事件50(至少有一个触摸物体触碰控件的边界)时,最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值大于放大临界值,则认为达到了放大的条件,执行放大操作,此时,控件将被放大到第一设定大小;
[0077] 当最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值小于缩小临界值时,则识别手势操作为缩小操作;同理,触摸物体逐渐向内闭合的过程中,若监听到触摸完成事件40(至少有一个触摸物体离开屏幕)或边界反馈事件50(至少有一个触摸物体触碰控件的边界)时,最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值小于缩小临界值时,则认为达到了缩小的条件,执行缩小操作,此时,控件将被缩小到第二设定大小。
[0078] 具体的,放大临界值可以设置为1.0,缩小临界值可以设置为-0.4。
[0079] 为了在所获取的缩放向量中将最后一次获取的缩放向量与第一次获取的缩放向量进行比较,具体通过以上方式实现:
[0080] 若监听到的触摸事件为触摸开始中事件,还包括设置第一次移动的布尔量为真,则当监听到位置的变换事件后,还包括:
[0081] 判断第一次移动的布尔量是否为真,若为真,则将获取的缩放向量记录到全局变量中,并保存为第一次获取的缩放向量,并设置第一次移动的布尔量为假;
[0082] 若为假,则采用最新获取的缩放向量更新全局变量的值;
[0083] 当监听到触摸完成事件或边界反馈事件时,全局变量中记录的缩放向量为最后一次获取的缩放向量。
[0084] 在上述操作中,具体的过程为:当控件第一次监听到位置的变换事件30时,将获取的缩放向量记录到全局变量D1中,此时,由于默认的第一次移动的布尔量为真,则将全局变量D1的值赋予为D2,D2保存的为第一次获取的缩放向量,并设置第一次移动的布尔量为假;当控件第二次监听到位置的变换事件30时,此时,由于第一次移动的布尔量为假,则更新全局变量D1的值,此时,D1中记录的为第二次获取的缩放向量,依次类推,当控件第m次(m≥3)监听到位置的变换事件30时,此时,由于第一次移动的布尔量为假,则更新全局变量D1的值,此时,D1中记录的为第m次获取的缩放向量。
[0085] 当控件第n次(n≥1)监听到位置的变换事件30后,监听到了触摸完成事件40或边界反馈事件50,此时,则D1中记录的第n次获取的缩放向量即为最后一次获取的缩放向量,将D1中记录的第n次获取的缩放向量与D2中保存的第一次获取的缩放向量进行比较,判断是够满足缩放条件,若第n次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值大于放大临界值,则触发放大操作;若第n次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值小于缩小临界值,则触发缩小操作。
[0086] 如图1所示,该识别方法通过触摸事件实现缩放的完整的流程为:依次监听WPF的触摸开始中事件10、触摸已经开始事件20、多个位置的变换事件30、触摸完成事件40或边界反馈事件50,而在监听到触摸开始事件后,若触摸物体离开控件,则识别手势操作为点击操作;在监听到触摸已经开始事件后,若再次监听到的触摸事件为触摸完成事件(对应触摸物体离开屏幕的情况,此时,WPF触发触摸完成事件),则操作结束。
[0087] 除了识别放大操作以及缩小操作外,还可以识别拖动操作,实现拖动的效果,具体为:
[0088] 若监听到的触摸事件为触摸开始中事件,还包括:
[0089] 设置正在拖动的布尔量为假;
[0090] 初始化与监听到的位置的变换事件的总次数对应的变量,如设置该变量的初始值为1;
[0091] 则当监听到位置的变换事件后,还包括:
[0092] 累计监听到的位置的变换事件的次数;具体的,每监听到一次,将监听到的位置的变换事件的次数加1;
[0093] 判断正在拖动的布尔量是否为假,判断监听到的位置的变换事件的数量是否大于设定阈值,判断当前获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等;
[0094] 若第一次移动的布尔量为假,正在拖动的布尔量为假,监听到的位置的变换事件的数量大于设定阈值,且每次获取的缩放向量的模长与第一次获取的缩放向量的模长均相等,则识别手势操作为拖动操作。上述条件都满足时,才会将手势操作识别为拖动操作,有一个条件不满足,则认为当前手势操作不为拖动操作。
[0095] 具体过程为:当控件第一次监听到位置的变换事件30时,将获取的缩放向量记录到全局变量D1中,此时,由于默认的第一次移动的布尔量为真,则将全局变量D1的值赋予为D2,D2保存的为第一次获取的缩放向量,并设置第一次移动的布尔量为假,此时默认的正在拖动的布尔量为假,监听到的位置的变换事件的数量小于设定阈值(如设定阈值为5),全局变量中记录的缩放向量(第一次获取的缩放向量)的模长与第一次获取的缩放向量的模长相等,由于有一个条件不满足,则认为当前手势操作不为拖动操作;
[0096] 当控件第k次监听到位置的变换事件30时,由于第一次移动的布尔量为假,则将第k次获取的缩放向量更新到全局变量中,此时,正在拖动的布尔量为假,判断监听到的位置的变换事件的数量是否大于设定阈值,判断连续k次获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等,上述条件都满足时,才会将手势操作识别为拖动操作,有一个条件不满足,则认为当前手势操作不为拖动操作。在每次监听到位置的变换事件时,均按照上述方法进行判断手势操作是否为拖动操作。
[0097] 当识别手势操作为拖动操作后,还包括设置上述正在拖动的布尔量为真,设置这个值的目的是不要重复触发拖动操作,因为在拖动操作过程中,其实手指还在移动,就会触发位置的变换事件,由于判断是否触发拖动操作必须满足拖动的布尔量为假,所以在已经发起拖动操作时把这个值设置成真,那么下一次监听到位置的变换事件后就不会重复去触发拖动操作,只有拖动完成之后,这个量才会删除。
[0098] 该指挥终端软件可以同时播放不同摄像头采集的监控画面,通过拖动操作可以调换不同监控画面的位置。
[0099] 从触摸物体触摸屏幕开始到触摸物体离开触屏这个过程中,若监听到的触摸事件为触摸开始中事件10、触摸已经开始事件20、位置的变换事件30、触摸完成事件40、边界反馈事件50中的任意一个触屏事件时,还包括设置对应的触屏事件不传递到上层控件。
[0100] 本发明实施例还提供了一种手势操作的识别方法,该方法应用于安装在触屏设备上的指挥终端软件,触屏设备安装有支持触屏的操作系统,如win7及win7以上任一种操作系统,方法包括:
[0101] 当检测到有触摸物体触摸控件时,操作系统用户界面软件触发触摸开始中事件;
[0102] 当在设定的时间内检测到触摸物体保持不动时,操作系统用户界面软件触发触摸已经开始事件;
[0103] 当每次检测到触摸物体在控件范围内移动时,操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为控件,根据触摸物体的位置计算对应的缩放向量,并触发位置的变换事件;
[0104] 当检测到触摸物体离开控件后,操作系统用户界面软件触发触摸完成事件;
[0105] 当检测到触摸物体触摸控件的边界后,操作系统用户界面软件触发边界反馈事件。
[0106] 该识别方法适用于基于WPF(Windows Presentation Foundation)框架的指挥终端软件,也适用于基于WPF框架的其它终端软件。
[0107] 从上述描述可以看出,本发明实施例提供的实现手势缩放的方法,主要通过监听触摸开始中事件、位置的变换事件、触摸完成事件以及边界反馈事件实现缩放的功能,具体的,在监听到触摸开始中事件后,通过将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使得WPF的触屏事件和计算都基于所设置的缩放模式以及与之相关的控件容器进行;在触摸物体的移动过程中,会监听到多个位置的变换事件,每监听到一个位置的变换事件,将会得到一个与当前触摸物体的位置相关的缩放向量,根据缩放向量的变化规律可以判断出触摸物体移动的趋势,而一旦监听到触摸完成事件或边界反馈事件中的任一个事件,就会判断是否满足缩放的条件,从而识别出手势操作为放大操作还是缩小操作。
[0108] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈