【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种书写实现方法和装置。
背景技术:
用户设备基本上都提供了书写功能,例如用户可以使用触控笔或者手指在触摸屏上进行书写,或者用户可以通过鼠标的移动在pc屏幕上进行书写。目前的书写实现方式主要是,随着触点在屏幕上的移动,屏幕上显示出和触点移动轨迹相同或相似的文字或图形。
然而,由于现有实现方式中,屏幕上显示出的文字或图形实际上是由触点移动轨迹形成的,这就大大限制了触摸屏幕上能够书写的精细程度,特别是诸如手机等具有触摸屏的用户设备,触摸屏的尺寸较小但廉价触控笔笔头以及手指指尖在触摸屏上的接触面积较大,这就更加影响书写的精细程度。比如,用廉价触控笔或手指在一个5英寸的300ppi以上的高像素密度的触摸屏上写英文字母的话,最多只能书写100-200个英文字母,而且难以绘制形状稍复杂的图形。若使用高端专用触控笔,则书写的精细程度较高,但价格昂贵。
技术实现要素:
有鉴于此,本发明提供了一种书写实现方法和装置,以便于提高书写的精细程度。
具体技术方案如下:
本发明提供了一种书写实现方法,该方法包括:
确定虚拟轨迹的初始位置;
随着屏幕上的触点的移动,依据预设的映射参数将触点在屏幕上的移动轨 迹进行映射,得到从所述初始位置开始的虚拟轨迹并在屏幕上显示所述虚拟轨迹。
根据本发明一优选实施方式,所述确定虚拟轨迹的初始位置在定位模式或书写模式下执行;
所述随着屏幕上的触点的移动,依据预设的映射参数将触点在屏幕上的移动轨迹进行映射,得到从所述初始位置开始的虚拟轨迹并在屏幕上显示所述虚拟轨迹在书写模式下执行。
根据本发明一优选实施方式,所述确定虚拟轨迹的初始位置在定位模式下执行包括:
利用定位模式下捕捉到的最后一个触点的位置坐标更新所述虚拟轨迹的初始位置。
根据本发明一优选实施方式,所述确定虚拟轨迹的初始位置在书写模式下执行包括:
在书写模式下,如果超过预设时长未捕捉到触摸操作,则利用下一个捕捉到的触点位置坐标作为下一段书写的第一个触点的位置,并利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置;或者,
在书写模式下,如果超过预设时长未捕捉到触摸操作,则利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置,并在屏幕上指示出下一段书写的第一个触点的位置。
根据本发明一优选实施方式,若捕捉到定位模式的手势操作,则切换到定位模式;若捕捉到书写模式的手势操作,则切换到书写模式。
根据本发明一优选实施方式,所述定位模式的手势操作包括多点触摸操作;
所述书写模式的手势操作包括单点触摸操作。
根据本发明一优选实施方式,该方法还包括:
在所述屏幕上显示所述触点在屏幕上的移动轨迹。
根据本发明一优选实施方式,该方法还包括:
如果超过预设时长未捕捉到触摸操作,则清除所述触点在屏幕上的移动轨 迹的显示。
根据本发明一优选实施方式,如果超过预设时长未捕捉到触摸操作,则重新转至所述确定虚拟轨迹的初始位置。
根据本发明一优选实施方式,所述依据预设的映射参数将触点在屏幕上的移动轨迹进行映射,得到从所述初始位置开始的虚拟轨迹包括:
依据映射参数中的缩放比例,将触点在屏幕上的各位置坐标进行映射,得到各虚拟触点的位置坐标,其中各虚拟触点构成所述虚拟轨迹。
根据本发明一优选实施方式,在显示所述虚拟轨迹时,依据所述映射参数中的颜色设置信息和/或线型信息,将所述虚拟轨迹显示为对应的颜色和/或线型。
根据本发明一优选实施方式,该方法还包括:
在所述屏幕上指示当前触点所映射到的虚拟触点的位置。
根据本发明一优选实施方式,在所述依据映射参数中的缩放比例,将触点在屏幕上的各位置坐标进行映射时,采用以下方式得到各虚拟触点的位置坐标:
x_vi=x_v0+(x_ri-x_r0)*m
y_vi=y_v0+(y_ri-y_r0)*m
其中,x_v0和y_v0为虚拟轨迹的初始位置的坐标,x_r0和y_r0为所述移动轨迹的第一个触点的位置坐标,x_ri和y_ri为所述移动轨迹的第i个触点在屏幕上的位置坐标,x_vi和y_vi为所述第i个触点映射得到的虚拟触点的位置坐标,所述i为大于1的整数,m为缩放比例。
本发明还提供了一种书写实现装置,该装置包括:
确定单元,用于确定虚拟轨迹的初始位置;
获取单元,用于捕捉屏幕上的触点信息;
映射单元,用于随着屏幕上的触点的移动,依据预设的映射参数将触点在屏幕上的移动轨迹进行映射,得到从所述初始位置开始的虚拟轨迹;
显示单元,用于在屏幕上显示所述虚拟轨迹。
根据本发明一优选实施方式,所述确定单元在定位模式或书写模式下执行 操作;
所述映射单元在书写模式下执行操作。
根据本发明一优选实施方式,所述确定单元,具体用于利用定位模式下所述获取单元捕捉到的最后一个触点的位置坐标更新所述虚拟轨迹的初始位置。
根据本发明一优选实施方式,在书写模式下,如果所述获取单元超过预设时长未捕捉到触摸操作,则所述确定单元利用下一个捕捉到的触点位置坐标作为下一段书写的第一个触点的位置,并利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置;或者,
在书写模式下,如果所述获取单元超过预设时长未捕捉到触摸操作,则所述确定单元利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置,并在屏幕上指示出下一段书写的第一个触点的位置。
根据本发明一优选实施方式,该装置还包括:
切换单元,用于若所述获取单元捕捉到定位模式的手势操作,则切换到定位模式;若所述获取单元捕捉到书写模式的手势操作,则切换到书写模式。
根据本发明一优选实施方式,所述定位模式的手势操作包括多点触摸操作;
所述书写模式的手势操作包括单点触摸操作。
根据本发明一优选实施方式,所述显示单元,还用于在所述屏幕上显示所述触点在屏幕上的移动轨迹。
根据本发明一优选实施方式,所述显示单元,还用于如果所述获取单元超过预设时长未捕捉到触摸操作,则清除所述触点在屏幕上的移动轨迹的显示。
根据本发明一优选实施方式,如果所述获取单元超过预设时长未捕捉到触摸操作,则所述确定单元重新确定虚拟轨迹的初始位置。
根据本发明一优选实施方式,所述映射单元,具体用于依据映射参数中的缩放比例,将触点在屏幕上的各位置坐标进行映射,得到各虚拟触点的位置坐标,其中各虚拟触点构成所述虚拟轨迹。
根据本发明一优选实施方式,所述显示单元在显示所述虚拟轨迹时,依据所述映射参数中的颜色设置信息和/或线型信息,将所述虚拟轨迹显示为对应的 颜色和/或线型。
根据本发明一优选实施方式,所述显示单元,还用于在所述屏幕上指示当前触点所映射到的虚拟触点的位置。
根据本发明一优选实施方式,所述映射单元在所述依据映射参数中的缩放比例,将触点在屏幕上的各位置坐标进行映射时,采用以下方式得到各虚拟触点的位置坐标:
x_vi=x_v0+(x_ri-x_r0)*m
y_vi=y_v0+(y_ri-y_r0)*m
其中,x_v0和y_v0为虚拟轨迹的初始位置的坐标,x_r0和y_r0为所述移动轨迹的第一个触点的位置坐标,x_ri和y_ri为所述移动轨迹的第i个触点在屏幕上的位置坐标,x_vi和y_vi为所述第i个触点映射得到的虚拟触点的位置坐标,所述i为大于1的整数,m为缩放比例。
由以上技术方案可以看出,将触点在屏幕上的轨迹按照设置的缩放比例映射为最终在屏幕上显示的虚拟轨迹,能够不再受到触摸笔笔头或者手指与屏幕接触面积的限制,提高书写的精细程度,视线也不再受到触摸笔笔头或者手指的阻挡。
【附图说明】
图1为本发明实施例提供的主要方法流程图;
图2为本发明实施例提供的详细方法流程图;
图3a为本发明实施例提供的应用初始界面的示意图;
图3b为在图3a所示界面上进行定位的示意图;
图3c为图3b基础上开始书写的示意图;
图3d为图3c基础上进行一段连续书写的示意图;
图3e为图3d基础上清除触点移动轨迹的示意图;
图3f为图3e基础上进行定位的示意图;
图3g为图3f基础上开始书写的示意图;
图3h为在图3g基础上进行一段连续书写的示意图;
图4为本发明实施例提供的书写实现装置的结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
本发明实施例所涉及的“书写”可以包括但不限于在触摸屏幕上进行字符的写入以及线条、图形等的绘制。实现本发明的装置可以为运行于用户终端中的应用或应用中的插件,其中用户终端可以包括但不限于pc、具有触摸屏幕的手机、平板电脑等。
图1为本发明实施例提供的主要方法流程图,如图1中所示,该方法主要包括以下步骤:
在101中,确定虚拟轨迹的初始位置。
每次书写开始的时候,都需要首先确定虚拟轨迹的初始位置,也就是指定书写内容在屏幕上显示的初始位置。在本发明实施例中,可以将该书写装 置的使用模式可以主要包括定位模式和书写模式,其中在定位模式下,用户对屏幕的触摸不会产生虚拟轨迹,仅用于确定下一段书写的虚拟轨迹的初始位置。而在书写模式下,用户对屏幕的触摸通常会产生虚拟轨迹,但在书写模式下进行特殊的操作时,也可以用于确定下一段书写的虚拟轨迹的初始位置,将在后续描述中进行详述。
本步骤可以在定位模式下实现,也可以在书写模式下实现。若在定位模式下实现,则可以将定位模式下捕捉到的最后一个触点的位置坐标确定为虚拟轨迹的初始位置。若在书写模式下实现,如果超过预设时长未捕捉到触摸操作,则利用下一个捕捉到的触点位置作为下一段书写的第一个触点的位置,并利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置。在书写模式下实现时,还可以采用另一种方式,即如果超过预设时长未捕捉到触摸操作,则利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置,并在屏幕上指示出下一段书写的第一个触点的位置。当然,在初始打开应用界面时,也可以采用默认的位置作为虚拟轨迹的初始位置。
具体模式的切换以及不同模式下虚拟轨迹的初始位置确定将在后续实施例中详细描述。
在102中,随着屏幕上的触点的移动,依据预设的映射参数将触点在屏幕上的移动轨迹进行映射,得到从101确定的初始位置开始的虚拟轨迹并在屏幕上显示该虚拟轨迹。
本步骤可以在书写模式下执行,在书写模式下,在屏幕上发生的触点会被进行映射,从真实的触点移动轨迹映射得到一条虚拟轨迹。在本发明实施例中可以预先配置映射参数,该映射参数可以包括缩放比例,还可以包括虚拟轨迹的颜色、线型等等样式参数。经过本步骤的映射后,真实触点的移动轨迹被映射为以步骤101确定的初始位置为起点且按照一定比例缩放后的虚拟轨迹,虚拟轨迹在显示时,还可以按照映射参数中的颜色、线性等样式参数显示为对应的颜色和/或线性。
其中,映射参数可以由用户在映射参数配置面板中进行设置,也可以采用默认的映射参数值。
移动轨迹的映射实际上就是移动轨迹上各触点的位置坐标的映射,即当捕捉到屏幕上的触点时,依据预设的映射参数中的缩放比例,将触点在屏幕上的位置坐标映射得到虚拟触点的位置坐标,最终由各虚拟触点构成了上述的虚拟轨迹。也就是说,由点的一一映射得到了轨迹到轨迹的映射。
在进行点的映射时,可以由屏幕上当前触点的位置坐标、触点在屏幕上移动轨迹的初始位置(即真实移动轨迹的第一个触点的位置坐标)、确定的虚拟轨迹的初始位置的坐标以及缩放比例,得到当前触点映射到的虚拟触点的位置坐标。具体可以采用如下公式(1)和公式(2):
x_vi=x_v0+(x_ri-x_r0)*m(1)
y_vi=y_v0+(y_ri-y_r0)*m(2)
其中,x_v0和y_v0为虚拟轨迹的初始位置的坐标,x_r0和y_r0为真实的移动轨迹的第一个触点的位置坐标,x_ri和y_ri为真实的移动轨迹的第i个触点在屏幕上的位置坐标,x_vi和y_vi为上述第i个触点映射得到的虚拟触点的位置坐标,i为大于1的整数,m为缩放比例。每在屏幕上捕捉到一个触点,均进行上述映射,就得到各虚拟触点,在屏幕上就随着用户书写的触点轨迹显示出按照一定缩放比例的虚拟轨迹。同时,随着用户书写的触点的移动轨迹,在屏幕上也可以同时显示用户书写的触点的移动轨迹,即真实的触点轨迹。
若用户停止书写,超过预设时长未捕捉到屏幕的触摸操作,则结束当前一段虚拟轨迹的显示,转至步骤101开始确定下一段虚拟轨迹的初始位置的确定,以及下一段虚拟轨迹的书写。另外,超过预设时长未捕捉到屏幕的触摸操作,还可以清除触点在屏幕上的移动轨迹的显示,即清除真实的触点轨迹的显示,以方便用户在屏幕上准备下一段书写。
下面结合图2所示实施例以在触摸屏上用手指进行书写为例,对上述方法进行详细描述,如图2中所示,该方法可以具体包括以下步骤:
在201中,启动后确定映射参数。
应用启动后,首先确定映射参数。在本步骤中,可以将系统默认的映射参数确定为后续书写所使用的映射参数。也可以将保存用户最近一次的映射参数设置,将用户最近一次的映射参数设置作为后续书写所使用的映射参数。也可以向用户提供映射参数配置面板,获取用户通过映射参数配置面板设置的映射参数,并作为后续书写所使用的映射参数。
需要说明的是,除了在应用启动时确定映射参数之外,对于用户在后续书写过程中通过映射参数配置面板进行映射参数的设置时,会重新按照用户的设置确定映射参数。
在202中,捕捉屏幕上的触摸操作,如果在屏幕上捕捉到多点触摸操作,则执行203;如果在屏幕上捕捉到单点触摸操作,则执行205。
在203中,切换至定位模式。
在本实施例中,定位模式和书写模式的切换可以有多点触摸操作和单点触摸操作来触发,即当捕捉到多点触摸操作时,例如用户在屏幕上进行双指的移动,则切换至定位模式。如果捕捉到单点触摸操作时,例如用户在屏幕上进行单指的移动,则切换至书写模式。
当然除了以多点触摸和单点触摸触发切换之外,还可以采用其他方式,例如点击屏幕上的提供的模式切换的功能按键的方式。对于pc而言,也可以采用诸如点击鼠标右键、按下键盘上的某个按键、或者通过鼠标点击屏幕上提供的模式切换的功能按键的方式,等等。
在204中,将定位模式下捕捉到的最后一个触点的位置坐标确定为虚拟轨迹的初始位置。
在定位模式下,主要实现用户对虚拟轨迹的初始位置的指定。由于在定位模式下,用户可以多次进行多点触摸来更改虚拟轨迹的初始位置,直到满意位置,因此可以将定位模式下捕捉到的最后一个触点的位置坐标座位虚拟轨迹的初始位置。
假设用户初始打开书写应用时,展现的界面如图3a中所示,在本发明实施例中,可以采用一个笔形图标始终指示虚拟触点的位置,在图3a所示的初 始界面中,可以将笔形图标置于一个默认的位置,例如置于屏幕左上角的某个位置。如果用户不更改笔形图标的位置,则将笔形图标笔尖所在的位置直接作为虚拟轨迹的初始位置。如果用户想要自己指定虚拟轨迹的初始位置,则可以在屏幕上双指触摸并进行移动,最终抬起的位置作为虚拟轨迹的初始位置,如图3b中所示。
在205中,切换至书写模式。
在206中,在书写模式下,随着屏幕上的触点的移动,显示触点的移动轨迹,依据预设的映射参数将触点在屏幕上的移动轨迹进行映射,得到从初始位置开始的虚拟轨迹并在屏幕上显示该虚拟轨迹。
在书写模式下,一段连续的书写操作主要包括三部分的处理:
1)对触点的移动轨迹进行显示,也就是显示用户手指移动的真实轨迹。
对于触点的移动轨迹进行显示所采用的颜色和线型也可以由用户预先进行配置,也可以采用默认的颜色和线性。另外,是否显示触点的移动轨迹也可以进行配置,用户可以选择显示触点的移动轨迹,也可以选择不显示触点的移动轨迹。
2)依据预设的映射参数将触点在屏幕上的移动轨迹进行映射,得到从初始位置开始的虚拟轨迹。
移动轨迹的映射实际上就是移动轨迹上各触点的位置坐标的映射,即当捕捉到屏幕上的触点时,依据预设的映射参数中的缩放比例,将触点在屏幕上的位置坐标映射得到虚拟触点的位置坐标,最终由各虚拟触点构成了上述的虚拟轨迹。在进行各点的映射时,可以采用上述的公式(1)和公式(2)。
需要说明的是,对于屏幕上触摸操作的监听是由操作系统执行的,如果屏幕上发生触摸操作,则操作系统会监听到触摸事件,触摸事件中会包含触点信息,例如触点位置、触摸类型等等。同时操作系统会将监听到的触摸事件提供给应用层,供具体应用使用。
3)显示虚拟轨迹。
在进行各触点的位置坐标映射得到各虚拟触点的位置坐标后,各虚拟触 点构成了虚拟轨迹,在对虚拟轨迹进行显示时,可以依据映射参数中的颜色信息和/或线型信息等样式信息,显示虚拟轨迹。
以上三部分的处理并没有严格的顺序限制,优选地,对于捕捉到的触点,可以同时执行以上三部分的处理。
接续图3a和图3b的例子,如果用户在屏幕上进行单点触摸,如图3c中所示,则切换至书写模式,同时第一个触摸的点是触点在屏幕上移动轨迹的初始位置,记为(x_r0,y_r0)。用户将该第一个触摸的点作为起点开始一段连续的书写,如图3d中所示,在屏幕上以单点触摸的方式书写“1234”,则在屏幕上显示出触点的移动轨迹,并且会随着触点的移动将各触点的位置依据映射参数中的缩放比例进行映射,得到各虚拟触点的虚拟轨迹。在显示虚拟轨迹时可以采用映射参数中的颜色、线型等样式参数。另外,在屏幕上笔形图标可以随着虚拟触点的位置进行移动,使得在屏幕上看起来像是由笔形图标书写出的虚拟轨迹,一方便较形象,有趣味性,另一方面,也可方便用户获知虚拟触点当前的位置,以便后续书写时有针对性的进行虚拟触点的初始位置定位。
在207中,如果超过预设时长未捕捉到触摸操作,则清除触点在屏幕上的移动轨迹的显示。
本步骤中的预设时长可以采用默认的值,例如1s,也可以由用户进行配置。接续图3d所示的例子,若用户写完“1234”后停止书写,手指离开屏幕。超过1s未捕捉到触摸操作,则清除触点在屏幕上的移动轨迹的显示,如图3e所示。
另外,在书写模式下,用户也可以在任意时刻,通过点击界面上提供的清屏功能按钮的方式来清除触点在屏幕上的移动轨迹的显示。
在208中,将下一个捕捉到的触点位置坐标作为下一段书写的第一个触点的位置,并利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置。
接续3e所示的例子,若用户在结束一段连续的书写后,希望继续进行书 写,则需要进行下一段书写时虚拟轨迹的初始位置。那么可以采用以下三种方式:
第一种方式:采用多点触摸屏幕切换至定位模式,在定位模式下对虚拟轨迹的初始位置进行定位。
第二种方式:无需进行模式切换,仍保持在书写模式下,用户预估下一段书写时虚拟轨迹的初始位置,然后在屏幕上采用单点触摸的方式确定第一个触点的位置,同时已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置。
如图3f中所示,用户目测预估一个位置,点击该位置使得该位置作为下一段书写的第一个触点的位置,即下一段书写的起始位置。在用户点击该位置的同时,以当前虚拟轨迹最后一个虚拟触点的位置(即当前虚拟笔尖指示的位置)作为下一段书写的虚拟轨迹的初始位置。在实际编程过程中,存在一个虚拟轨迹的初始位置的参数,在本步骤之后,用本步骤映射得到的虚拟触点的位置坐标更新虚拟轨迹的初始位置参数。
然后用户便可以从上面所点击的位置附近可以接着进行下一段连续的书写,如图3g中所示,从第一个触点开始书写,同时也从该触点开始进行映射产生虚拟轨迹。假设用户连续写下“567”,如图3所示,这部分执行可以转至执行206。
第三种方式:无需进行模式切换,仍在书写模式下,直接利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置,与此同时,在屏幕上指示出下一段书写的第一个触点的位置。用户只需要从指示的该第一个触点的位置附近开始下一段书写即可。该过程与第二方式相比,不需要用户执行如图3f中所示的那次点击。
另外,需要说明的是,在任意时刻,如果在书写模式下捕捉到多点触摸操作,则从书写模式切换至定位模式。同样,如果在定位模式下捕捉到单点触摸操作,则从定位模式切换至书写模式。另外,定位模式和书写模式的切换方式也可以通过其他方式实现,诸如点击模式切换功能按钮实现。
在用户的书写过程中,如果需要对已书写的内容进行修改,例如删除、位置移动等等,可以通过点击应用界面上的编辑功能按钮,触发切换至编辑模式。在编辑模式下,用户可以选择需要编辑的区域,然后点击相应的功能按钮,例如删除按钮或移动按钮等,进行编辑。举个例子,假设用户希望删除几个字符,那么可以首先点击编辑功能按钮,切换至编辑模式,然后选择要删除的字符,再点击子菜单中的删除按钮,就可以完成这几个字符的删除。再举个例子,假设用户希望移动几个字符的位置,那么可以首先点击编辑功能按钮,切换至编辑模式,然后选择要移动的字符,再点击子菜单中的移动按钮,通过手指的移动将要移动的字符移动至指定位置。对于其他编辑功能的实现方式类似,在此不再一一穷举。
以上是对本发明提供的方法进行的详细描述,下面结合实施例对本发明提供的装置进行详细描述。
图4为本发明实施例提供的书写实现装置的结构图,该装置可以是运行于用户终端的应用的形式,也可以是应用插件的形式。如图4中所示,该装置可以包括:确定单元01、获取单元02、映射单元03和显示单元04,还可以包括切换单元05。
确定单元01负责确定虚拟轨迹的初始位置。每次书写开始的时候,都需要由确定单元01首先确定虚拟轨迹的初始位置,也就是指定书写内容在屏幕上显示的初始位置。在本发明实施例中,可以将该书写装置的使用模式分为定位模式和书写模式,该确定单元01可以在定位模式下执行,也可以在书写模式下执行。具体地,可以采用但不限于以下三种方式:
第一种方式:确定单元01可以将定位模式下捕捉到的最后一个触点的位置坐标确定为虚拟轨迹的初始位置。
第二种方式:在书写模式下,如果获取单元02超过预设时长未捕捉到触摸操作,则确定单元01可以利用下一个捕捉到的触点位置坐标作为下一段书写的第一个触点的位置,并利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置。
第三种方式:在书写模式下,如果获取单元02超过预设时长未捕捉到触摸操作,则确定单元01可以利用已经得到的虚拟轨迹的最后一个虚拟触点的位置更新虚拟轨迹的初始位置,并在屏幕上指示出下一段书写的第一个触点的位置。
获取单元02负责捕捉屏幕上的触点信息。通常情况下,操作系统会对屏幕上的触摸事件进行监听,然后将触摸事件包含的触点信息提供给应用层。本实施例中的获取单元02就可以捕捉到操作系统提供的触点信息。其中触点信息可以包括触点的位置坐标、触摸类型等信息。
映射单元03负责随着屏幕上的触点的移动,依据预设的映射参数将触点在屏幕上的移动轨迹进行映射,得到从初始位置开始的虚拟轨迹。具体地,映射单元03可以依据映射参数中的缩放比例,将触点在屏幕上的各位置坐标进行映射,得到各虚拟触点的位置坐标,其中各虚拟触点构成虚拟轨迹。
映射单元03在依据映射参数中的缩放比例,将触点在屏幕上的各位置坐标进行映射时,采用以下方式得到各虚拟触点的位置坐标:
x_vi=x_v0+(x_ri-x_r0)*m
y_vi=y_v0+(y_ri-y_r0)*m
其中,x_v0和y_v0为虚拟轨迹的初始位置的坐标,x_r0和y_r0为移动轨迹的第一个触点的位置坐标,x_ri和y_ri为移动轨迹的第i个触点在屏幕上的位置坐标,x_vi和y_vi为第i个触点映射得到的虚拟触点的位置坐标,i为大于1的整数,m为缩放比例。
显示单元04负责在屏幕上显示虚拟轨迹。其中显示单元04在显示虚拟轨迹时,可以依据映射参数中的颜色设置信息和/或线型信息等样式参数,将虚拟轨迹显示为对应的颜色和/或线型等样式。显示单元04还可以同时在屏幕上显示触点在屏幕上的移动轨迹。
切换单元05负责进行模式切换,若获取单元02捕捉到定位模式的手势操作,则切换到定位模式;若获取单元02捕捉到书写模式的手势操作,则切换到书写模式。例如,定位模式的手势操作可以是多点触摸操作,书写模式的手势操作可以是单点触摸操作。
如果获取单元02超过预设时长未捕捉到触摸操作,则显示单元04清除触点在屏幕上的移动轨迹的显示,由确定单元01重新确定虚拟轨迹的初始位置。
除此之外,显示单元04还可以在屏幕上指示当前触点所映射到的虚拟触点的位置。例如以笔形图标的形式指示当前触点所映射到的虚拟触点的位置,随着用户在屏幕上触点的移动,笔形图标也会随着移动,使得在屏幕上看起来像是由笔形图标书写出的虚拟轨迹,一方便较形象,有趣味性,另一方面,也可方便用户获知虚拟触点当前的位置,以便后续书写时有针对性的进行虚拟触点的初始位置定位。
在用户的书写过程中,如果需要对已书写的内容进行修改,例如删除、位置移动等等,可以通过点击应用界面上的编辑功能按钮,由切换单元05将模式切换至编辑模式。在编辑模式下,用户可以选择需要编辑的区域,然后点击相应的功能按钮,例如删除按钮或移动按钮等,进行编辑。获取单元02捕捉到用户的编辑操作,由显示单元04显示用户编辑后的虚拟轨迹。
本发明实施例中所涉及的屏幕上的触点可以是触控笔或手指在触控屏上产生的接触点,也可以是pc屏幕上通过鼠标和/或键盘触发的产生书写功能的焦点,例如用户按住鼠标左键后移动鼠标使得焦点发生移动从而实现书写,或者用户按下键盘上的ctrl键同时移动鼠标使得焦点发生移动从而实现书写,等等。
本发明实施例提供的方法和装置可以是应用的形式,举一个应用场景:
例如作为一个书写应用,该书写应用可以在具有触摸屏的移动终端上安装并运行。当用户启动该书写应用后,可以在该应用提供的界面上手写进行字符的输入或图画的绘制。并且,用户可以通过配置缩放比例的形式,调整最终书写的字符或图画的大小(即虚拟轨迹的大小),还可以配置其颜色、线形等样式。
本发明实施例提供的方法和装置也可以是应用中插件的形式,举一个应用场景:
例如作为即时通信工具中的一个插件,当用户希望通过即时通信工具发 送一副自己书写的或绘制的内容,则可以在即时通信工具中调用该插件对应的功能,然后在该功能对应的界面上进行手写或绘制,将最终绘制的内容可以保存为一个文件,然后通过即时通信工具发送。这样用户就能够将自己手工书写或绘制的内容作为消息内容进行发送。
通过本发明提供的方法和装置,将触点在屏幕上的轨迹按照设置的缩放比例映射为最终在屏幕上显示的虚拟轨迹,能够不再受到触摸笔笔头或者手指与屏幕接触面积的限制,提高书写的精细程度。经过试验,在一个5英寸的300ppi以上的高像素密度的触摸屏上,可以写入3000个以上的英文字母。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。