发明内容
为了解决上述技术问题,本发明提供了一种触控屏人机交互精确定位方法,包括步骤:
步骤120,在触控屏的显示界面上创建可移动控件,该可移动控件包括按压区和指针;该可移动构件的指针具有至少一个定位点,该定位点与按压区中心的距离保持固定;
其中,该可移动控件的按压区在触控屏上的实际显示面积大于用户手指与触控屏接触的面积,以使用户手指按住该可移动控件的按压区时,用户与该可移动控件的指针之间的视线不会被用户手指遮挡;并且当用户通过操作该可移动控件的按压区以移动该可移动控件的按压区时,该可移动控件的指针跟随该可移动控件的按压区移动。
在上述技术方案中,进一步包括:
步骤130,将该可移动控件的按压区接收到的用户操作封装成鼠标消息,并以该可移动控件的指针的定位点的坐标位置作为鼠标消息中所包含的鼠标坐标;
其中,所述鼠标消息包括但不限于鼠标移动消息、鼠标点击消息、鼠标双击消息、鼠标按键下压消息、鼠标按键松开消息中的一种或多种。
在上述技术方案中,在步骤120之前进一步包括:
步骤110,在触控屏的显示界面上创建透明图层;
所述透明图层处于显示界面的顶层,所述步骤120中创建的可移动控件被创建在该透明图层上,并且该可移动控件在该透明图层内移动。
在上述技术方案中,该可移动控件在显示界面上所显示的像素面积根据触控屏的像素密度参数来确定,以使得显示界面上所显示的可移动构件的按压区的实际长宽值为0.3-1英寸。
在上述技术方案中,该可移动控件的按压区与指针分离一定距离设置;或者,该可移动控件的按压区与指针紧靠设置;或者,该可移动控件的按压区与指针通过虚拟或者实体的连接件进行连接;并且,该可移动控件的指针位于按压区左上角或者右上角,或者,该可移动控件的指针位于按压区的位置关系由按压区的移动方向来进行调整。
本发明还提供了一种触控屏人机交互精确定位的尺寸测量方法,包括步骤:
步骤220,接收权利要求2-5中任一项所述的触控屏人机交互精确定位方法中的鼠标移动消息,提取该鼠标移动消息中的鼠标坐标,将该鼠标坐标作为输入来实施特征点捕捉,并根据捕捉到的特征点位置在设计区域内标记捕捉到的特征点;
步骤230,接收权利要求2-5中任一项所述的触控屏人机交互精确定位方法中的鼠标点击消息,提取该鼠标点击消息中的鼠标坐标,将该鼠标坐标作为输入来实施特征点捕捉,如果找到至少一个可捕捉的特征点,则将距离该鼠标坐标最近的可捕捉的特征点作为实际坐标点;否则,直接将该鼠标坐标作为实际坐标点;
步骤240,去除步骤220中进行特征点捕捉时所做的标记,并将步骤230中得到的实际坐标点标记到设计区域上,保存该实际坐标点,作为后续测量或绘制操作的坐标点;
重复上述步骤220-240,获得多个实际坐标点,形成坐标点列表;
根据用户输入判断所形成的坐标点列表所构成的几何形状类型,从而根据所形成的坐标点列表来计算用户选择区域的长度和/或面积。
在上述技术方案中,在步骤220之前进一步包括:
步骤210,在手持式移动终端上读取设计图纸,并在设计区域内显示设计图纸内容;
所述设计图纸包括但不限于AutoCAD设计图纸、PDF格式图纸、Photoshop设计文件。
在上述技术方案中,在步骤220和步骤230中的特征点捕捉具体包括:
步骤221,预先计算设计图纸内所有图元的交叉关系,寻找所有特征点,并按各个特征点的坐标,构造用于搜索的树状数据结构;所述特征点包括图元的端点、交点、中点、垂点、圆心;
其中,该树状数据结构将显示设计图纸的平面区域进行逐级分割,构造一个从全局坐标范围到局部坐标范围的平面划分关系,即将整个设计图纸划分为若干个第一级平面子区域,将每个第一级平面子区域划分为若干个第二级平面子区域,每个第二级平面子区域划分为若干个第三级平面子区域,依此类推;
步骤222,通过输入的坐标点的位置寻找对应的第一级平面子区域,然后在该第一级平面子区域内继续寻找对应的第二级平面子区域,以此类推,直到到达一个范围足够小的最高级子区域,并在该子区域内遍历每一个特征点,并考察其与输入坐标点距离是否在容差范围内;如果在范围内,则找到可捕捉的特征点,进入步骤223;否则为无可捕捉特征点,返回;
步骤223,将找到的可捕捉的特征点在当前设计区域上通过特定标记标出,并通过不同标记形状区分特征点类型。
在上述技术方案中,步骤220中使用的标记与步骤240中使用的标记的形状和/或颜色是不同的。
本发明还提供了一种计算机装置,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现在上述技术方案中的步骤。
本发明还提供了一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述技术方案中的步骤。
本发明取得了以下技术效果:
1、方便用户在使用小型触控屏的移动手持终端上进行需要精确定位输入的操作,方便用户进行图纸测量、绘制等相关的操作。
2、无需借助触控笔、鼠标等其他物理实体的外置输入设备,即可实现类似于PC等计算机终端上的操作体验。
3、在小型触控屏上对工程设计图纸操作的方便程度可以基本达到在台式计算机上的程度,且对图纸进行编辑或测量的操作方式与在台式计算机上的操作方式类似。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及具体实施方式对本发明作进一步的详细描述。
为了解决上述技术问题,本发明提供一种触控屏人机交互精确定位方法,其包括如下步骤:
步骤110,在手持式移动终端触控屏的屏幕上创建透明图层。
透明图层可以是一个置于屏幕顶层的透明窗体,也可以是应用窗体中置于最顶层的绘画图层,后续所显示的内容均在该透明图层中进行绘制。
步骤120,在透明图层上创建可移动控件,该可移动控件包括按压区21和指针22,该按压区21在屏幕上的实际显示面积大于一般人的手指与屏幕接触的面积。
可移动控件的优选实施方式如图3-5所示,其包括按压区21和指针22,其中,按压区21可以与指针22分离一定距离设置(如图3所示),按压区21也可以与指针22紧靠设置(如图4所示),按压区21也可以与指针22通过虚拟或者实体的连接件(例如连接线23)进行连接(如图5所示)。
用户可以通过使用手指或者身体其他部分或者触控工具按住可移动控件的按压区21,以在透明图层内移动该可移动控件。
由于不同移动手持终端的屏幕尺寸不同,屏幕分辨率也不同,因此需要计算屏幕逻辑尺寸和屏幕物理尺寸之间的对应关系,使得屏幕上显示出的可移动构件的按压区21的实际面积大于一般人手指与屏幕接触的面积,从而进一步使得用户手指按住该按压区21以移动可移动构件时,该可移动构件不会完全被用户手指所遮挡住。
根据对一般用户使用习惯的统计,在移动手持终端上进行精细操作时,用户一般常使用利手(又称优势手,例如通常所说的“右撇子”或“右利手”的右手,或者“左撇子”或“左利手”的左手)的食指来进行触控。一般食指的第一指节往往与身高相关,其长度范围为1.5-4厘米、宽度范围为1-2.5厘米,当用户使用食指指腹进行触控操作时(如图1所示),其接触的屏幕区域大致为(1.5-2厘米)×(1-2厘米)的范围,当用户使用食指尖端进行触控操作时,其接触的屏幕区域大致为(0.8-1.2厘米)×(0.3-0.7厘米)的范围。因此对于大尺寸屏幕的移动手持终端(例如屏幕尺寸大于8英寸)而言,所显示的可移动构件的按压区21的实际面积可以优选为(0.5-1英寸)×(0.5-1英寸),对于中小尺寸屏幕的移动手持终端(例如屏幕尺寸5-8英寸)而言,所显示的可移动构件的按压区21的实际面积可以优选为(0.3-0.5英寸)×(0.3-0.5英寸)。
例如,对于iPhone6手机来说,其像素密度(PPI,Pixels Per Inch)为330,则当显示实际大小为0.5×0.5英寸的矩形形式的可移动控件时,其逻辑像素尺寸为165×165像素的矩形区域;对于iPhone6Plus手机来说,其像素密度为401,则显示实际大小为0.5×0.5英寸的可移动控件时,其逻辑像素为200×200像素的矩形区域。以上以矩形方式进行举例,该可移动构件的按压区的实际形状可以根据需要进行任意绘制,优选采用符合用户操作习惯和符合人机工程学的形状,例如类似圆形、类似椭圆形,或者鼠标轮廓外形等。
优选地,如图3所示,该可移动构件的指针22靠近按压区21并与按压区21间隔一定距离,使得用户手指在按住按压区21时,用户手指不会遮挡用户观察指针22的视线,并且当用户通过按住可移动控件的按压区21以在透明图层内移动该可移动控件时,指针22跟随按压区21移动。指针22可以在按压区21的左上角、上方、右上角,也可以是在其左下角、下方、右下角,指针22与按压区21之间的位置关系可以根据用户左右手的操作***面尺寸时,指针22与按压区21的位置关系由t1时刻按压区21中心点坐标(x1,y1)与t2时刻按压区21中心点坐标(x2,y2)之间的方向矢量
来确定。
当采用如图3所示的可移动构件的实施方式时,本领域技术人员可以想到,将可移动构件的按压区21设置的更小,只需要用户按住按压区21时,手指不会遮挡观测指针22的视线即可,即按压区21和指针22共同构成的可移动构件的实际显示面积大于前述的范围即可。对于大尺寸屏幕的移动手持终端(例如屏幕尺寸大于8英寸)而言,所显示的可移动构件的实际面积可以优选为(0.5-1英寸)×(0.5-1英寸),对于中小尺寸屏幕的移动手持终端(例如屏幕尺寸5-8英寸)而言,所显示的可移动构件的实际面积可以优选为(0.3-0.5英寸)×(0.3-0.5英寸)。
该可移动构件的指针22具有一个定位点24,该定位点24可以是尖端或者是十字瞄准线的交点(如图5所示),该定位点24与按压区22的中心点坐标的距离保持固定。
步骤130,在透明图层上的该可移动控件的按压区21接收用户的操作并将其操作消息封装成鼠标消息发送给操作***,以该可移动控件的指针22的定位点24的坐标位置作为发送给操作***的鼠标消息中所包含的鼠标坐标。
具体的,当用户按住该可移动控件的按压区21并在屏幕上移动或者拖动时,向***发送鼠标移动消息(MouseMove_EVENT),其中以指针定位点24的坐标作为鼠标移动消息中的鼠标坐标,当用户使用手指单击操作该可移动控件的按压区21时,向***发送鼠标点击消息(MouseClick_EVENT),其中以指针定位点24的坐标作为鼠标单击消息中的鼠标坐标。
如图6所示,该可移动控件的按压区21中进一步绘制一个按钮25,仅当用户单击该按钮25时才触发鼠标单击消息,以防止用户误操作。本领域技术人员应该能够理解,图3-5中所示的可移动控件以及其他可移动控件的实施方式中都可以采用图6中所示的按压区21。
对于安卓(Android)***来说,触控屏事件(鼠标事件)有:按下、弹起、移动、双击、长按、滑动、滚动;其中,按下、弹起、移动(down、up、move)是简单的触摸屏事件。在安卓***中任何一个控件和Activity都是间接或者直接继承于android.view.View。一个View对象可以处理测距、布局、绘制、焦点变换、滚动条,以及触屏区域自己表现的按键和手势。因此,上述步骤110-130,完全不影响用户在手持式移动终端触控屏上针对View对象或从View对象继承得到的任何一个控件或Activity的触控操作(以下称为直接触控操作);并且通过上述步骤110-130,可以将用户在手持式移动终端触控屏的触控操作转换为***的鼠标消息,对***的任何一个控件或Activity进行操作(以下称为触控鼠标操作),该操作的方式和习惯与通过USB、蓝牙、网络、RF等物理方式连接的物理鼠标的操作方式可以是完全相同的。也就是说,通过本发明提供的这种触控屏人机交互精确定位方法,用户可以通过直接触控操作和/或触控鼠标操作同时在手持式移动终端触控屏进行人机交互操作,极大地增强了用户体验,同时使得用户在手持式移动终端对设计图纸进行尺寸测量等精确操作需求成为现实。
基于本发明提供的这种触控屏人机交互精确定位方法,本发明还提供一种在手持式移动终端上对设计图纸进行尺寸测量的方法。
步骤210,在手持式移动终端上读取设计图纸数据,并在设计区域内显示设计图纸中被用户可视的信息。
以下使用建筑设计图纸进行举例说明,本领域技术人员应当能够理解,这里的设计图纸可以包括但不限于:机械设计图纸、电气设计图纸、或者其他非矢量的图形设计文件,例如PhotoShop文件等。
这里所说的显示的设计图纸中被用户可视信息,包括但不限于:构件的框线、构件的渲染材质、标注信息、用户注释、设计图纸文件信息等。本领域技术人员应当可以理解这里所说的“可视”的含义,其即包括与设计图纸中不可见图层或者不可见构件相对应的可见图层或可见构件,又包括在当前用户视角、当前用户窗口、当前比例尺、当前用户显示设置等条件下,所能够或所必须呈现给用户的信息。
步骤220,接收操作***转发的鼠标移动事件,提取鼠标坐标,将鼠标坐标作为输入实施特征点捕捉逻辑,并根据捕捉到的特征点位置在设计区域内标记捕捉到的特征点。
具体来说,特征点捕捉逻辑包括:
步骤221,预先计算设计图纸内所有图元的交叉关系,寻找所有特征点,特征点包括图元的端点、交点、中点、垂点、圆心等等,并按各个特征点的坐标,构造用于搜索的树状数据结构。该树状结构通过将平面区域逐级分割,构造一个从全局坐标范围到局部坐标范围的平面划分关系,即将整个设计图纸划分为若干个第一级平面子区域,将每个第一级平面子区域划分为若干个第二级平面子区域,每个第二级平面子区域划分为若干个第三级平面子区域,依此类推。
通过上述用于搜索的树状数据结构,可以通过调整层级数量和平面子区域的划分粒度来合理平衡搜索特征点时所需耗费的计算资源以及所能达到的搜索速度。一般而言,上述用于搜索的树状数据结构划分得越细所能达到的搜索速度越快,同时为了维护该数据结构也需要耗费更多的内存。因此,可以根据手持式移动终端上所显示的设计图纸的复杂程度,例如图纸幅面尺寸、图纸文件尺寸、图纸中控件个数、图纸中基本图元数量中的一项或多项来合理确定树状数据结构的层级和平面子区域的划分粒度。例如,针对一般应用而言,通常划分4层左右,就可以满足搜索速度的需要,并且所需的内存开销也能够接受。同时,上述特征点计算出来后可以按照其范围来组织在同一或不同的平面子区域内;这种模式平面划分模式可以很灵活,例如,还可以按照线条,圆弧的位置等来进行组织,这样可以实现针对线、圆弧等形状的捕捉功能,而不仅仅是捕捉点。
步骤222,通过输入的坐标点的位置寻找对应的第一级平面子区域,然后在该第一级平面子区域内继续寻找对应的第二级平面子区域,以此类推,直到到达一个范围足够小的最高级子区域,并在该子区域内遍历每一个特征点,并考察其与输入坐标点距离是否在容差范围内。如果在范围内,则找到可捕捉的特征点,进入步骤223;否则为无可捕捉特征点,返回。该容差范围可以是一定的像素值,例如10-50像素,或者是一定的物理距离,例如0.1-1英寸,或者是一定的屏幕尺寸倍数,例如0.01-0.1倍的屏幕尺寸。
步骤223,将找到的可捕捉的特征点在当前设计区域上通过特定标记标出,并通过不同标记形状区分特征点类型。例如,使用交叉线、星标、圆圈、正方框、菱形框、三角框、圆形、正方形、菱形、三角形等标记形状来分别标记端点、交点、中点、垂点、圆心等特征点。
步骤230,在接收到***转发的鼠标点击事件时,提取鼠标坐标,同样将鼠标坐标作为输入实施特征点捕捉逻辑,如果找到可捕捉的特征点,则将距离该鼠标坐标最近的可捕捉的特征点作为实际坐标点;否则直接使用鼠标坐标作为实际坐标点。
步骤240,去除捕捉时的特征点标记,并将得到的实际坐标点通过另一种标记形状标记到设计区域上,用来表示本次精确定位方法最终的定位坐标。同时保存该最终坐标,作为后续测量或绘制操作的坐标点。
图7为通过上述步骤220-240获得后续测量或绘制操作的坐标点的效果示意图。从图7中可见,当用户操作可移动控件的按压区21并在屏幕上移动或者拖动可移动控件的指针22靠近两个图元(线段)的交点时,通过正方框形的特定标记(“□”)来突出显示捕捉到的特征点,当用户点击可移动控件的按压区21时,由正方框形的特定标记(“□”)该标记的两个图元(线段)的交点坐标,被确定为最终的定位坐标,以作为后续测量或绘制操作的坐标点,此时该最终的定位坐标可用圆形进行标记(如图9所示的长度测量操作时),也可用交叉线进行标记(如图11-13所示的面积和周长测量操作时)。由此可知,用户通过本发明所提供的操作方法,无需将可移动控件的指针22的指针定位点24移动到与所需输入的特征点(即图7中位于□标记正中的两个线段的交点)位置精确重合,只需要靠近就可自动捕捉到相应的特征点坐标,降低了在构件尺寸测量中对用户触控操作精度的要求,极大地提升了人机操作的便利性。
重复上述步骤220-240,获得多个定位坐标,形成坐标点列表。
可选择的步骤250,在步骤240中形成的定位坐标的坐标点与上一次形成的坐标点之间绘制连接线。
该连接线为进行测量的示意性连线,用于突出显示用户设定的测量区域或范围。该连接线的颜色和线型可以由用户指定,或者与所显示的设计图纸中所采用的颜色和线型相区别而由程序自动设定。
可选择的步骤260,根据用户输入判断所形成的坐标点列表所构成的几何形状类型,从而根据所形成的坐标点列表来计算用户选择区域的周长。可选择的步骤270,根据用户输入判断所形成的坐标点列表所构成的几何形状类型,从而根据所形成的坐标点列表来计算用户选择区域的面积。
可选择的步骤280,将步骤260中所获得周长数据,和/或,步骤270中所获得面积数据,在手持式移动终端上进行显示输出。
用户使用本发明所提供的一种工程设计图纸中的构件尺寸的精确测量方法,在手机上对工程设计图纸构件进行长度测量和标注的示例如图9-10所示。
用户可以通过手持式移动终端触控屏屏幕上的菜单、工具栏、按钮、图标或者指定区域或者特定手势来触发构件测量操作,如图8示出了,长度测量、面积测量、角度测量、坐标拾取/标注、比例缩放等功能按钮,用户通过选取/点击相应的功能按钮来触发相应的操作。
当用户选择进行长度测量时,通过上述步骤210-240形成一个特征点,在图9中使用附图标记101指示该特征点,此时该特征点作为线段测量的起始点。同时在屏幕界面上方可以进一步显示提示信息,以提示用户进行下一步操作。
通过重复上述步骤220-240,获得另一个特征点,此时该特征点作为线段测量的终止点。此时在起始点和终止点之间绘制标注线102,在标注线上显示该起始点和终止点之间的长度测量结果103。进一步还可以围绕标注线102和长度测量结果103绘制一个尺寸标注调整框104,在尺寸标注调整框104的至少两个角上显示调整按钮105,用户通过拖动按钮105的位置以进一步调整尺寸标注调整框104的大小和位置,从而调整长度测量结果103的大小和位置。
图9-10中隐藏了显示界面中的可移动构件,以进一步突出显示用户操作的交互过程和所呈现的结果。
用户使用本发明所提供的一种工程设计图纸中的构件尺寸的精确测量方法,在手机上对工程设计图纸构件进行面积和/或周长的测量示例如图11-13所示。
当用户选择进行面积测量时,通过上述步骤210-240获得第一个测量操作的坐标点,在图11中示为“×”,此时该坐标点作为面积测量的起始点。通过上述步骤220-240获得第二个测量操作的坐标点,同时在第二个测量操作的坐标点与第一个测量操作的坐标点之间绘制连接线,以提示用户将要选择的图形区域;依此类推,直至用户再次选择第一个测量操作的坐标点,此时这些坐标点作为四边形的顶点从而围合成一个封闭的图形,这些坐标点在图12中示为“×”,可以进行面积和/或周长计算,如图13所示,将面积和/或周长的计算结果呈现在所形成的封闭图形(图12-13中示出的是矩形)的中心,同时还可以文本编辑框的形式呈现测量结果(如图13下方所示),以方便用户选择复制相应的数据值,以拷贝到其他应用、程序或文件中。与此同时,在上述操作步骤中,屏幕界面上方可以进一步显示提示信息,以提示用户进行下一步操作;屏幕下面出现功能选择按钮;其中,通过选择“功能向导”按钮,可以呈现辅助用户操作的提示或帮助信息、以及进行相关测量操作的向导页面,通过选择“闭合”按钮,可以在用户已经选定三个或三个以上坐标点时自动将已经选定的这些坐标点作为多边形(含三角形、四边形)的顶点并闭合其周长,通过选择“回退到上一点”按钮,可以删除上一个设定的坐标点。
以上实施例仅为本发明的一种实施方式,其描述较为具体和详细,但不能因此而理解为对本发明专利范围的限制。其具体结构和尺寸可根据实际需要进行相应的调整。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。