CN111104041A - 一种手势操作的识别方法 - Google Patents
一种手势操作的识别方法 Download PDFInfo
- Publication number
- CN111104041A CN111104041A CN201911349430.3A CN201911349430A CN111104041A CN 111104041 A CN111104041 A CN 111104041A CN 201911349430 A CN201911349430 A CN 201911349430A CN 111104041 A CN111104041 A CN 111104041A
- Authority
- CN
- China
- Prior art keywords
- touch
- event
- monitored
- zooming
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及触屏设备的手势操作技术领域,公开了一种手势操作的识别方法,应用于安装在触屏设备上的指挥终端软件,触屏设备安装有支持触屏的操作系统,该识别方法包括:监听操作系统用户界面软件的多个触摸事件;若监听到的触摸事件为触摸开始中事件,则设置触摸开始中事件的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件;在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
Description
技术领域
本发明涉及触屏设备的手势操作技术领域,尤其涉及一种手势操作的识别方法。
背景技术
指挥终端软件是对系统中设备、资源进行处理、监控和控制,利用数字化的语音通信和高清压缩的视频编码,通过网络传输控制,实现设备视频的监控、指挥调度、双向呼叫和对讲等功能的终端软件。一般的指挥终端软件主要的使用场景是配备键盘和鼠标的,软件整体设计也是基于键鼠操作而设计的,没有考虑触摸屏设备的控制。
微软的Windows 7及以上版本的操作系统提供了对触屏设备的支持,如果在触屏设备上安装了Windows 7及以上的操作系统,系统默认支持简单的触屏点击操作(相当于鼠标的点击操作)、触屏双击操作(相当于鼠标的双击操作)、触屏滑动操作(相当于鼠标的滚轮滑动操作)、拖拽操作(相当于鼠标点击并保存按下状态并拖动鼠标的操作)、按压操作(相当于鼠标的右键操作)。
操作系统提供的默认的触屏操作行为只能满足部分的使用场景,而操作系统对于缩小、放大等手势的操作并不支持,在进行缩放操作时往往通过模拟鼠标的行为进行,比如放大视频显示区域的操作往往需要设置一个按钮或者使用双击操作,不符合操作习惯。
发明内容
本发明提供一种手势操作的识别方法,提高软件操作的灵活性。
第一方面,本发明实施例提供了一种手势操作的识别方法,该方法应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,该方法包括:
监听操作系统用户界面的多个触摸事件;
若监听到的触摸事件为触摸开始中事件,则设置所述触摸开始中事件的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使所述操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体在所述控件上的位置计算对应的缩放向量;
在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
上述实施例中,在监听到触摸开始中事件后,通过将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使得操作系统用户界面软件的触屏事件和计算都基于所设置的缩放模式以及与之相关的控件容器进行;在每次监听到位置的变换事件后,获取与当前触摸物体的位置相对应的缩放向量,而一旦监听到触摸完成事件或边界反馈事件,则根据所得到的缩放向量的变化识别出该手势操作,此时需要缩放的控件,如视频窗口就会按照所识别出的手势进行放大或缩小了,提高了软件操作的灵活性。
可选的,所述若监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作具体为:
若监听到的触摸事件为触摸完成事件或边界反馈事件,则计算最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值;
当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值大于放大临界值时,则识别手势操作为放大操作;
当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值小于缩小临界值时,则识别手势操作为缩小操作。
可选的,若监听到的触摸事件为触摸开始中事件,还包括设置第一次移动的布尔量为真;
则当监听到位置的变换事件后,还包括:
判断所述第一次移动的布尔量是否为真,若为真,则将获取的缩放向量记录到全局变量中,并保存为第一次获取的缩放向量,并设置所述第一次移动的布尔量为假;
若为假,则采用最新获取的缩放向量更新全局变量的值;
当监听到触摸完成事件或边界反馈事件时,所述全局变量中记录的缩放向量为所述最后一次获取的缩放向量。
可选的,若监听到的触摸事件为触摸开始中事件,还包括:
设置正在拖动的布尔量为假;
初始化与监听到的位置的变换事件的总次数对应的变量;
则当监听到位置的变换事件后,还包括:
累计监听到的位置的变换事件的次数;
判断所述正在拖动的布尔量是否为假,判断所述监听到的位置的变换事件的总次数是否大于设定阈值,判断当前获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等;
若所述第一次移动的布尔量为假,所述正在拖动的布尔量为假,所述监听到的位置的变换事件的总次数大于设定阈值,且每次获取的缩放向量的模长与第一次获取的缩放向量的模长均相等,则识别手势操作为拖动操作。
可选的,当识别手势操作为拖动操作后,还包括设置所述正在拖动的布尔量为真。
可选的,若监听到的触屏事件为触摸开始中事件、触摸已经开始事件、位置的变换事件、触摸完成事件或边界反馈事件中的任一个事件,还包括:
设置对应的触屏事件不传递到上层控件。
可选的,在监听到触摸开始事件后,若触摸物体离开控件,则识别手势操作为点击操作。
可选的,在监听到触摸已经开始事件后,若再次监听到的触摸事件为触摸完成事件,则操作结束。
第二方面,本发明实施例还提供了一种手势操作的识别方法,该方法应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,所述方法包括:
当检测到有触摸物体触摸控件时,所述操作系统用户界面触发触摸开始中事件;
当在设定的时间内检测到触摸物体保持不动时,所述操作系统用户界面触发触摸已经开始事件;
当每次检测到触摸物体在控件范围内移动时,所述操作系统用户界面基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体的位置计算对应的缩放向量,并触发位置的变换事件;
当检测到触摸物体离开控件后,所述操作系统用户界面触发触摸完成事件;
当检测到触摸物体触摸控件的边界后,所述操作系统用户界面触发边界反馈事件。
第三方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一种技术方案所述的识别方法中的步骤。
附图说明
图1为本发明实施例提供的指挥终端软件基于触屏事件实现手势缩放的流程图。
附图标记:
10-触摸开始中事件
20-触摸已经开始事件
30-位置的变换事件
40-触摸完成事件
50-边界反馈事件
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种手势操作的识别方法,该识别方法应用于安装在触屏设备上的指挥终端软件,以提高指挥终端软件的操作灵活性,上述触屏设备安装有支持触屏的操作系统,如win7及win7以上任一种操作系统。
具体的,该方法包括:
监听操作系统用户界面的多个触摸事件;
若监听到的触摸事件为触摸开始中事件,则设置触摸开始中事件的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为控件,根据触摸物体在控件上的位置计算对应的缩放向量;
在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
上述实施例中,在监听到触摸开始中事件后,通过将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使得操作系统用户界面的触屏事件和计算都基于所设置的缩放模式以及与之相关的控件容器进行;在每次监听到位置的变换事件后,获取与当前触摸物体的位置相对应的缩放向量,而一旦监听到触摸完成事件或边界反馈事件,则根据所得到的缩放向量的变化识别出该手势操作,此时需要缩放的控件,如视频窗口就会按照所识别出的手势进行放大或缩小了,提高了软件操作的灵活性。
该识别方法适用于基于WPF(Windows Presentation Foundation)框架的指挥终端软件,也适用于基于WPF框架的其它终端软件。
为了更加清楚的了解本发明实施例提供的手势操作的识别方法,现结合附图进行详细的描述。
从触摸物体触摸屏幕,在屏幕上移动到离开屏幕的这个过程,WPF将触发相应的触屏事件,具体通过以下过程实现:
第一步是对手指触碰的捕获。对于支持触屏的设备需要搭配支持触屏的操作系统才能完成触屏功能,触屏设备硬件有相应的驱动程序,驱动程序检测手指或其他可触碰的物体,当手指或触碰物体接触物理触屏设备屏幕时,驱动程序检测到相应的硬件通知,将触摸物体与屏幕接触的位置以及实际触摸的物体个数通知给操作系统,操作系统收到通知后会通过WPF的事件通知上来,通过监听这些事件,就可以捕获到触碰操作。
第二步是手指等触碰物体的移动检测。驱动程序定时检测触碰物体在屏幕上的位置变化,如果某一个触碰物体的坐标位置发生改变,通知到操作系统,WPF框架将操作系统的消息封装成相应的触屏事件通知上来,从而可以知道触摸物体的位置变化。
最后是触摸操作完成时触摸物体离开屏幕的检测。同样是驱动程序通过硬件的反馈检测到物体离开屏幕后,通知给操作系统,操作系统触发相应的Windows消息,而WPF对消息进行处理,通过事件通知给使用者。
所以整个的触屏操作基于WPF的事件,Windows已经处理了对触屏的触摸物体检测、触摸物体移动、触摸物体释放等相应操作的消息,WPF对消息进行了封装,通知给实际使用者。
接下来通过WPF的事件通知就可以完成对缩放手势的处理了,WPF有多个基于触屏的高级事件通知,分别是触摸开始中事件、触摸已经开始事件、位置的变换事件、惯性通知事件、触摸完成事件、边界反馈事件等。
图1中示出了指挥终端软件基于WPF的触屏事件识别手势操作的流程图,从触摸开始到触摸结束,依次监听到的WPF的触摸事件为:触摸开始中事件10、触摸已经开始事件20、多个位置的变换事件30、触摸完成事件40或边界反馈事件50,该识别手势操作的方法具体包括:
监听操作系统用户界面软件的多个触摸事件,具体以WPF为例进行说明;
具体的,首先设置需要缩放的控件的一个属性开启WPF的高级触屏功能,默认这个属性是没有开启的,设置了控件的这个属性之后,这个控件就可以收到ManipulationStarting(触屏开始中事件)、ManipulationStarted(触屏已经开始事件)、ManipulationDelta(位置的变换事件30)、ManipulationCompleted(触摸完成事件40完成)、ManipulationBoundaryFeedback(边界反馈事件50)等等这些事件;
若监听到的触摸事件为触摸开始中事件10,则设置触摸开始中事件10的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为上述控件,根据触摸物体在该控件上的位置计算对应的缩放向量;
在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
具体的,触摸物体(可以为手指、触控笔等)在移动过程中,触摸点的位置不断发生变化,WPF每触发一个位置的变换事件30,都说明触摸点的位置变化了一次,WPF将综合考虑触摸物体的个数以及当前每个触摸物体的位置,并根据设定的算法计算所对应的缩放向量an(n≥1);每次监听到位置的变换事件30时,获取对应的缩放向量,通过缩放向量的变化规律可以判断出触摸物体移动的趋势,若所获取的缩放向量的模长逐渐增大,则认为触摸物体在移动过程中有向外扩张的趋势,若所获取的缩放向量的模长逐渐缩小,则认为触摸物体在移动过程中有向内闭合的趋势;
在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
具体的,当触摸物体离开控件时,WPF触发触摸完成事件40,当触摸物体触碰控件的边界时,WPF触发边界反馈事件50,而一旦监听到触摸完成事件40或边界反馈事件50中的任一个事件,则通过缩放向量的变化判断是否满足缩放的条件;若满足放大条件,则识别手势操作为放大操作,若满足缩小条件,则识别手势操作为缩小操作,此时,在指挥终端软件中,通过上述方法即可使需要缩放的视屏窗口按照所识别出的手势进行放大或缩小,提高了软件操作的灵活性。
在一个具体的实施例中,若监听到的触摸事件为触摸完成事件40或边界反馈事件50,则根据缩放向量的变化识别手势操作具体为:
若监听到的触摸事件为触摸完成事件40或边界反馈事件50,则计算最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值;
当最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值大于放大临界值时,则识别手势操作为放大操作;也就是说,触摸物体逐渐向外扩张的过程中,若监听到触摸完成事件40(至少有一个触摸物体离开屏幕)或边界反馈事件50(至少有一个触摸物体触碰控件的边界)时,最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值大于放大临界值,则认为达到了放大的条件,执行放大操作,此时,控件将被放大到第一设定大小;
当最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值小于缩小临界值时,则识别手势操作为缩小操作;同理,触摸物体逐渐向内闭合的过程中,若监听到触摸完成事件40(至少有一个触摸物体离开屏幕)或边界反馈事件50(至少有一个触摸物体触碰控件的边界)时,最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值小于缩小临界值时,则认为达到了缩小的条件,执行缩小操作,此时,控件将被缩小到第二设定大小。
具体的,放大临界值可以设置为1.0,缩小临界值可以设置为-0.4。
为了在所获取的缩放向量中将最后一次获取的缩放向量与第一次获取的缩放向量进行比较,具体通过以上方式实现:
若监听到的触摸事件为触摸开始中事件,还包括设置第一次移动的布尔量为真,则当监听到位置的变换事件后,还包括:
判断第一次移动的布尔量是否为真,若为真,则将获取的缩放向量记录到全局变量中,并保存为第一次获取的缩放向量,并设置第一次移动的布尔量为假;
若为假,则采用最新获取的缩放向量更新全局变量的值;
当监听到触摸完成事件或边界反馈事件时,全局变量中记录的缩放向量为最后一次获取的缩放向量。
在上述操作中,具体的过程为:当控件第一次监听到位置的变换事件30时,将获取的缩放向量记录到全局变量D1中,此时,由于默认的第一次移动的布尔量为真,则将全局变量D1的值赋予为D2,D2保存的为第一次获取的缩放向量,并设置第一次移动的布尔量为假;当控件第二次监听到位置的变换事件30时,此时,由于第一次移动的布尔量为假,则更新全局变量D1的值,此时,D1中记录的为第二次获取的缩放向量,依次类推,当控件第m次(m≥3)监听到位置的变换事件30时,此时,由于第一次移动的布尔量为假,则更新全局变量D1的值,此时,D1中记录的为第m次获取的缩放向量。
当控件第n次(n≥1)监听到位置的变换事件30后,监听到了触摸完成事件40或边界反馈事件50,此时,则D1中记录的第n次获取的缩放向量即为最后一次获取的缩放向量,将D1中记录的第n次获取的缩放向量与D2中保存的第一次获取的缩放向量进行比较,判断是够满足缩放条件,若第n次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值大于放大临界值,则触发放大操作;若第n次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值小于缩小临界值,则触发缩小操作。
如图1所示,该识别方法通过触摸事件实现缩放的完整的流程为:依次监听WPF的触摸开始中事件10、触摸已经开始事件20、多个位置的变换事件30、触摸完成事件40或边界反馈事件50,而在监听到触摸开始事件后,若触摸物体离开控件,则识别手势操作为点击操作;在监听到触摸已经开始事件后,若再次监听到的触摸事件为触摸完成事件(对应触摸物体离开屏幕的情况,此时,WPF触发触摸完成事件),则操作结束。
除了识别放大操作以及缩小操作外,还可以识别拖动操作,实现拖动的效果,具体为:
若监听到的触摸事件为触摸开始中事件,还包括:
设置正在拖动的布尔量为假;
初始化与监听到的位置的变换事件的总次数对应的变量,如设置该变量的初始值为1;
则当监听到位置的变换事件后,还包括:
累计监听到的位置的变换事件的次数;具体的,每监听到一次,将监听到的位置的变换事件的次数加1;
判断正在拖动的布尔量是否为假,判断监听到的位置的变换事件的数量是否大于设定阈值,判断当前获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等;
若第一次移动的布尔量为假,正在拖动的布尔量为假,监听到的位置的变换事件的数量大于设定阈值,且每次获取的缩放向量的模长与第一次获取的缩放向量的模长均相等,则识别手势操作为拖动操作。上述条件都满足时,才会将手势操作识别为拖动操作,有一个条件不满足,则认为当前手势操作不为拖动操作。
具体过程为:当控件第一次监听到位置的变换事件30时,将获取的缩放向量记录到全局变量D1中,此时,由于默认的第一次移动的布尔量为真,则将全局变量D1的值赋予为D2,D2保存的为第一次获取的缩放向量,并设置第一次移动的布尔量为假,此时默认的正在拖动的布尔量为假,监听到的位置的变换事件的数量小于设定阈值(如设定阈值为5),全局变量中记录的缩放向量(第一次获取的缩放向量)的模长与第一次获取的缩放向量的模长相等,由于有一个条件不满足,则认为当前手势操作不为拖动操作;
当控件第k次监听到位置的变换事件30时,由于第一次移动的布尔量为假,则将第k次获取的缩放向量更新到全局变量中,此时,正在拖动的布尔量为假,判断监听到的位置的变换事件的数量是否大于设定阈值,判断连续k次获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等,上述条件都满足时,才会将手势操作识别为拖动操作,有一个条件不满足,则认为当前手势操作不为拖动操作。在每次监听到位置的变换事件时,均按照上述方法进行判断手势操作是否为拖动操作。
当识别手势操作为拖动操作后,还包括设置上述正在拖动的布尔量为真,设置这个值的目的是不要重复触发拖动操作,因为在拖动操作过程中,其实手指还在移动,就会触发位置的变换事件,由于判断是否触发拖动操作必须满足拖动的布尔量为假,所以在已经发起拖动操作时把这个值设置成真,那么下一次监听到位置的变换事件后就不会重复去触发拖动操作,只有拖动完成之后,这个量才会删除。
该指挥终端软件可以同时播放不同摄像头采集的监控画面,通过拖动操作可以调换不同监控画面的位置。
从触摸物体触摸屏幕开始到触摸物体离开触屏这个过程中,若监听到的触摸事件为触摸开始中事件10、触摸已经开始事件20、位置的变换事件30、触摸完成事件40、边界反馈事件50中的任意一个触屏事件时,还包括设置对应的触屏事件不传递到上层控件。
本发明实施例还提供了一种手势操作的识别方法,该方法应用于安装在触屏设备上的指挥终端软件,触屏设备安装有支持触屏的操作系统,如win7及win7以上任一种操作系统,方法包括:
当检测到有触摸物体触摸控件时,操作系统用户界面软件触发触摸开始中事件;
当在设定的时间内检测到触摸物体保持不动时,操作系统用户界面软件触发触摸已经开始事件;
当每次检测到触摸物体在控件范围内移动时,操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为控件,根据触摸物体的位置计算对应的缩放向量,并触发位置的变换事件;
当检测到触摸物体离开控件后,操作系统用户界面软件触发触摸完成事件;
当检测到触摸物体触摸控件的边界后,操作系统用户界面软件触发边界反馈事件。
该识别方法适用于基于WPF(Windows Presentation Foundation)框架的指挥终端软件,也适用于基于WPF框架的其它终端软件。
从上述描述可以看出,本发明实施例提供的实现手势缩放的方法,主要通过监听触摸开始中事件、位置的变换事件、触摸完成事件以及边界反馈事件实现缩放的功能,具体的,在监听到触摸开始中事件后,通过将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使得WPF的触屏事件和计算都基于所设置的缩放模式以及与之相关的控件容器进行;在触摸物体的移动过程中,会监听到多个位置的变换事件,每监听到一个位置的变换事件,将会得到一个与当前触摸物体的位置相关的缩放向量,根据缩放向量的变化规律可以判断出触摸物体移动的趋势,而一旦监听到触摸完成事件或边界反馈事件中的任一个事件,就会判断是否满足缩放的条件,从而识别出手势操作为放大操作还是缩小操作。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种手势操作的识别方法,其特征在于,应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,所述方法包括:
监听操作系统用户界面软件的多个触摸事件;
若监听到的触摸事件为触摸开始中事件,则设置所述触摸开始中事件的参数的属性:将手势操作的模式设置为缩放模式,将手势操作的容器设置为需要进行缩放的控件,使所述操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体在所述控件上的位置计算对应的缩放向量;
在监听到触摸开始事件后,若监听到的触摸事件为触摸已经开始事件,则:
若再次监听到的触摸事件为位置的变换事件,则获取对应的缩放向量;
在监听到多个位置的变换事件后,若再次监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作。
2.如权利要求1所述的识别方法,其特征在于,所述若监听到的触摸事件为触摸完成事件或边界反馈事件,则根据缩放向量的变化识别手势操作具体为:
若监听到的触摸事件为触摸完成事件或边界反馈事件,则计算最后一次获取的缩放向量的模长与第一次获取的缩放向量的模长的差值;
当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值大于放大临界值时,则识别手势操作为放大操作;
当所述最后一次获取的缩放向量的模长与所述第一次获取的缩放向量的模长的差值小于缩小临界值时,则识别手势操作为缩小操作。
3.如权利要求2所述的识别方法,其特征在于,若监听到的触摸事件为触摸开始中事件,还包括设置第一次移动的布尔量为真;
则当监听到位置的变换事件后,还包括:
判断所述第一次移动的布尔量是否为真,若为真,则将获取的缩放向量记录到全局变量中,并保存为第一次获取的缩放向量,并设置所述第一次移动的布尔量为假;
若为假,则采用最新获取的缩放向量更新全局变量的值;
当监听到触摸完成事件或边界反馈事件时,所述全局变量中记录的缩放向量为所述最后一次获取的缩放向量。
4.如权利要求3所述的识别方法,其特征在于,若监听到的触摸事件为触摸开始中事件,还包括:
设置正在拖动的布尔量为假;
初始化与监听到的位置的变换事件的总次数对应的变量;
则当监听到位置的变换事件后,还包括:
累计监听到的位置的变换事件的次数;
判断所述正在拖动的布尔量是否为假,判断所述监听到的位置的变换事件的总次数是否大于设定阈值,判断当前获取的缩放向量的模长与第一次获取的缩放向量的模长是否相等;
若所述第一次移动的布尔量为假,所述正在拖动的布尔量为假,所述监听到的位置的变换事件的总次数大于设定阈值,且每次获取的缩放向量的模长与第一次获取的缩放向量的模长均相等,则识别手势操作为拖动操作。
5.如权利要求4所述的识别方法,其特征在于,当识别手势操作为拖动操作后,还包括设置所述正在拖动的布尔量为真。
6.如权利要求1所述的识别方法,其特征在于,若监听到的触屏事件为触摸开始中事件、触摸已经开始事件、位置的变换事件、触摸完成事件或边界反馈事件中的任一个事件,还包括:
设置对应的触屏事件不传递到上层控件。
7.如权利要求1所述的识别方法,其特征在于,在监听到触摸开始事件后,若触摸物体离开控件,则识别手势操作为点击操作。
8.如权利要求1所述的识别方法,其特征在于,在监听到触摸已经开始事件后,若再次监听到的触摸事件为触摸完成事件,则操作结束。
9.一种手势操作的识别方法,其特征在于,应用于安装在触屏设备上的指挥终端软件,所述触屏设备安装有支持触屏的操作系统,所述方法包括:
当检测到有触摸物体触摸控件时,操作系统用户界面软件触发触摸开始中事件;
当在设定的时间内检测到触摸物体保持不动时,所述操作系统用户界面软件触发触摸已经开始事件;
当每次检测到触摸物体在控件范围内移动时,所述操作系统用户界面软件基于所设置的手势操作的模式为缩放模式以及所设置的手势操作的容器为所述控件,根据触摸物体的位置计算对应的缩放向量,并触发位置的变换事件;
当检测到触摸物体离开控件后,所述操作系统用户界面软件触发触摸完成事件;
当检测到触摸物体触摸控件的边界后,所述操作系统用户界面软件触发边界反馈事件。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~8任一项所述的识别方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349430.3A CN111104041A (zh) | 2019-12-24 | 2019-12-24 | 一种手势操作的识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911349430.3A CN111104041A (zh) | 2019-12-24 | 2019-12-24 | 一种手势操作的识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104041A true CN111104041A (zh) | 2020-05-05 |
Family
ID=70424435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911349430.3A Pending CN111104041A (zh) | 2019-12-24 | 2019-12-24 | 一种手势操作的识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104041A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817508A (zh) * | 2021-02-25 | 2021-05-18 | 麒麟合盛网络技术股份有限公司 | 资源素材的手势操控指令的管理方法、装置及其设备 |
CN115657924A (zh) * | 2022-10-28 | 2023-01-31 | 粤港澳大湾区数字经济研究院(福田) | 一种触屏事件处理方法及相关装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101790715A (zh) * | 2008-03-04 | 2010-07-28 | 苹果公司 | 触摸事件模型编程接口 |
US20110072371A1 (en) * | 2009-09-18 | 2011-03-24 | Microsoft Corporation | Application programming interface for user interface creation |
CN102426491A (zh) * | 2011-05-12 | 2012-04-25 | 北京汇冠新技术股份有限公司 | 一种用于触摸屏的多点触控实现方法及系统 |
CN102890694A (zh) * | 2011-09-22 | 2013-01-23 | 北京师科阳光信息技术有限公司 | 一种时间轴系统及其实现方法 |
CN102985903A (zh) * | 2010-04-19 | 2013-03-20 | 电子触控产品解决方案公司 | 用于确定用户的触摸手势的方法与设备 |
CN103941919A (zh) * | 2014-04-23 | 2014-07-23 | 宁波保税区攀峒信息科技有限公司 | —种触摸事件识别模式 |
-
2019
- 2019-12-24 CN CN201911349430.3A patent/CN111104041A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101790715A (zh) * | 2008-03-04 | 2010-07-28 | 苹果公司 | 触摸事件模型编程接口 |
US20110072371A1 (en) * | 2009-09-18 | 2011-03-24 | Microsoft Corporation | Application programming interface for user interface creation |
CN102985903A (zh) * | 2010-04-19 | 2013-03-20 | 电子触控产品解决方案公司 | 用于确定用户的触摸手势的方法与设备 |
CN102426491A (zh) * | 2011-05-12 | 2012-04-25 | 北京汇冠新技术股份有限公司 | 一种用于触摸屏的多点触控实现方法及系统 |
CN102890694A (zh) * | 2011-09-22 | 2013-01-23 | 北京师科阳光信息技术有限公司 | 一种时间轴系统及其实现方法 |
CN103941919A (zh) * | 2014-04-23 | 2014-07-23 | 宁波保税区攀峒信息科技有限公司 | —种触摸事件识别模式 |
Non-Patent Citations (3)
Title |
---|
季红艳: "基于多点触摸技术的人机交互研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
范大脚脚: "《阿里云 开发者社区》", 13 December 2017 * |
陈旸: "多点触摸概述与手势", 《电脑知识与技术》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112817508A (zh) * | 2021-02-25 | 2021-05-18 | 麒麟合盛网络技术股份有限公司 | 资源素材的手势操控指令的管理方法、装置及其设备 |
CN112817508B (zh) * | 2021-02-25 | 2022-05-13 | 麒麟合盛网络技术股份有限公司 | 资源素材的手势操控指令的管理方法、装置及其设备 |
CN115657924A (zh) * | 2022-10-28 | 2023-01-31 | 粤港澳大湾区数字经济研究院(福田) | 一种触屏事件处理方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10901590B2 (en) | Electronic device having touch screen and function controlling method of the same | |
JP6640909B2 (ja) | テーマ表示方法および関連装置 | |
KR102642883B1 (ko) | 터치 감응형 디스플레이를 갖는 전자 디바이스 상에 동시에 디스플레이되는 다수의 애플리케이션들과 상호작용하기 위한 시스템들 및 방법들 | |
US20180011619A1 (en) | Systems and methods for adaptive gesture recognition | |
US20170329415A1 (en) | Closing, starting, and restarting applications | |
KR102027879B1 (ko) | 미디어 기기의 메뉴 제어 방법 및 장치와 그 방법에 대한 프로그램 소스를 저장한 기록 매체 | |
CN102939578A (zh) | 用于接收用户输入的方法、设备和系统 | |
WO2014082521A1 (zh) | 基于触摸屏删除或剪切文件的方法及装置 | |
CN112099707A (zh) | 显示方法、装置和电子设备 | |
CN112540713B (zh) | 视频预览进度条缩放方法、系统、设备及存储介质 | |
CN111104041A (zh) | 一种手势操作的识别方法 | |
CN107728873A (zh) | 内容选取的方法及其装置 | |
CN113721808A (zh) | 一种控制方法及装置 | |
CN112416236A (zh) | 基于web页面的手势封装、交互方法、设备和存储介质 | |
CN111198644B (zh) | 智能终端的屏幕操作的识别方法及系统 | |
KR20190006516A (ko) | 애플리케이션 프로그램 데이터 처리 방법 및 디바이스 | |
US9250778B2 (en) | Mobile terminal having touch screen and function controlling method of the same | |
CN111427587B (zh) | 一种目标删除方法及装置 | |
US20170046061A1 (en) | Method and a system for controlling a touch screen user interface | |
CN112764622A (zh) | 图标移动方法、装置及电子设备 | |
US10936161B2 (en) | Method for adapting the presentation and use of a graphical user interface | |
KR20150029127A (ko) | 지문 센서를 이용하여 제어 기능을 제공하기 위한 전자 장치 및 방법 | |
CN104571800B (zh) | 一种信息处理方法及电子设备 | |
WO2022252872A1 (zh) | 设备控制方法、装置、电子设备及存储介质 | |
CN117724637A (zh) | 系统桌面的交互方法及装置、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200505 |
|
RJ01 | Rejection of invention patent application after publication |