CN107526526A - 确定压感笔迹区域的方法及装置 - Google Patents
确定压感笔迹区域的方法及装置 Download PDFInfo
- Publication number
- CN107526526A CN107526526A CN201710852343.4A CN201710852343A CN107526526A CN 107526526 A CN107526526 A CN 107526526A CN 201710852343 A CN201710852343 A CN 201710852343A CN 107526526 A CN107526526 A CN 107526526A
- Authority
- CN
- China
- Prior art keywords
- point
- circle
- handwriting
- trace
- pressure
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 229910052799 carbon Inorganic materials 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 229910052757 nitrogen Inorganic materials 0.000 claims description 5
- 239000003086 colorant Substances 0.000 claims description 3
- 229910052739 hydrogen Inorganic materials 0.000 claims description 3
- 229910052717 sulfur Inorganic materials 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 229910052796 boron Inorganic materials 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052698 phosphorus Inorganic materials 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
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
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0414—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means using force sensing means to determine a position
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明涉及确定压感笔迹区域的方法及装置。所述方法包括:获取压感笔迹点数据;将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,以各自的笔迹点数据分别作圆,得到三个圆;根据所作的圆和圆心确定所述三个笔迹点的起始端点边界和终止端点边界;并根据三个圆及其圆心绘制两条贝塞尔曲线作为两侧边界;起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域,即为三个笔迹点对应的压感笔迹区域。本发明确定压感笔迹区域的效率高,且根据本发明确定的压感笔迹区域所绘制出的笔迹较之于现有方法更加流畅。
Description
技术领域
本发明涉及触控技术领域,特别是涉及确定压感笔迹区域的方法、装置、存储介质及计算机设备。
背景技术
原笔迹手写技术,是通过用户在硬件设备上书写,例如电子白板,系统程序将用户数据载入,然后在硬件设备上显示出来,通过这种方法,可以在硬件设备上显示手写的内容。智能硬件设备通常都具有手写功能,可以在其上面显示手写的内容。
传统显示笔迹的方法是在手指按压的过程中,取两个笔迹点,在两个笔迹点上均匀地画圆。在这个过程中,系统程序检测两个笔迹点之间的距离并画圆,一方面,圆补少了,会造成笔迹不光滑、不连续的情况,容易造成卡顿,影响笔迹效果。一方面,圆补多了,系统需要耗费大量的时间,从而造成书写效率低。
在对现有技术的研究和实践过程中,发明人发现现有技术存在以下问题:在硬件设备上书写的时候,笔迹显示的方式是通过系统画圆连接的方式显示出来,这种方法容易造成笔迹卡顿的问题。并且系统通过补充足够的圆来优化笔迹效果,同时需要耗费大量的时间,从而导致书写效率低,影响用户体验。
发明内容
基于此,本发明提供了确定压感笔迹区域的方法及装置,能够克服笔迹卡顿的问题,并且提高了确定压感笔迹区域的效率。
本发明方案包括:
一种确定压感笔迹区域的方法,包括:
获取压感笔迹点数据,笔迹点数据包括笔迹点的位置坐标以及对应的笔迹半径;
将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,根据所述三个笔迹点各自的笔迹点数据分别作圆,得到圆A3、圆A2、圆A1,圆心分别为a3、a2、a1;
根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界;根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界;
根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,以所述两条贝塞尔曲线作为所述三个笔迹点所对应绘制区域的两侧边界;
根据所述起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域,得到所述三个笔迹点对应的压感笔迹区域。
一种确定压感笔迹区域的装置,包括:
笔迹点获取模块,用于获取压感笔迹点数据,笔迹点数据包括笔迹点的位置坐标以及对应的笔迹半径;
画圆模块,用于将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,根据所述三个笔迹点各自的笔迹点数据分别作圆,得到圆A3、圆A2、圆A1,圆心分别为a3、a2、a1;
起止边界确定模块,用于根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界;根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界;
侧边界确定模块,用于根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,以所述两条贝塞尔曲线作为所述三个笔迹点所对应绘制区域的两侧边界;
绘制区域确定模块,用于根据所述起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域,得到所述三个笔迹点对应的压感笔迹区域。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现所述方法的步骤。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述方法的步骤。
上述技术方案带来的有益效果:
通过压感笔迹点的位置坐标以及对应的笔迹半径,将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,分别作圆;基于所作的三个圆确定所述三个笔迹点的起始端点边界、终止端点边界并画两条塞贝尔曲线作为所述三个笔迹点所对应绘制区域的两侧边界;起始端点边界、终止端点边界以及两条贝塞尔曲线所围成的区域为所述三个笔迹点对应的压感笔迹区域。系统不需要在笔迹点之间均匀地画圆,提高了确定笔迹区域的效率;并且本发明确定的压感笔迹区域所绘制出的笔迹较之于现有方法更加流畅。
附图说明
图1为一实施例的确定压感笔迹区域的方法的示意性流程图;
图2为一实施例的确定压感笔迹区域的起始端点边界以及终止端点边界的示意图;
图3为一实施例的确定压感笔迹区域的两侧边界的示意图;
图4为一实施例的确定压感笔迹区域的方法另一形式的流程图;
图5为一实施例的确定第一个笔迹点的起始端点边界的示意图;
图6为一实施例的在最后一个笔迹点画笔锋效果的示意图;
图7为一实施例的确定压感笔迹区域的装置的示意性结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中的步骤虽然用标号进行了排列,但并不用于限定步骤的先后次序,除非明确说明了步骤的次序或者某步骤的执行需要其他步骤作为基础,否则步骤的相对次序是可以调整的。
图1为一实施例的确定压感笔迹区域的方法的示意性流程图;如图1所示,本实施例中的确定压感笔迹区域的方法包括步骤:
S01,获取压感笔迹点数据,笔迹点数据包括笔迹点的位置坐标以及对应的笔迹半径;
其中,压感笔迹点包括手指与硬件设备屏幕的触摸点,或者压感笔与硬件设备屏幕的触摸点,下文仅以手指的压感笔迹点为例进行说明。
其中,对于Android系统的触摸设备(例如电子白板),获取压感笔迹点数据的具体方法可为:把检测到的笔迹点的触摸数据封装在了MotionEvent里面,这些触摸数据可以包括笔迹点的横坐标、纵坐标、压感值、触摸长轴、触摸短轴等,Android系统会把MotionEvent传递给应用程序,因此应用程序只需要从MotionEvent里面获取触摸数据即可。
可选地,笔迹点的笔迹半径可根据笔迹点处的压感值、接触面积等可变量的一些列变换获得的。其中,压感值、接触面积、触摸长轴、触摸短轴等都是一个连续的均匀可变量;一系列变换包括指压感值(或者接触面积、触摸长轴、触摸短轴等)扩大或者缩小某个适当的倍数来作为半径的大小。通过在手指移动过程中得到一个均匀可变量来调整半径,使半径均匀可变,从而达到毛笔的粗细变化的效果。一般地,手指与屏幕的接触面是一个椭圆,这个椭圆有长轴和短轴,故存在触摸长轴、触摸短轴。通过压感值、接触面积等可变量来获取压感笔迹点的半径,能够清晰有效地实现压感笔迹,不容易造成卡顿。
S02,将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,根据所述三个笔迹点各自的笔迹点数据分别作圆,得到圆A3、圆A2、圆A1,圆心分别为a3、a2、a1。
其中,根据笔迹点的位置坐标为圆心,笔迹半径为半径来作圆。
S03,根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界;根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界。
其中,笔迹点的起始端点边界用于表示压感笔迹开始的部分,终止端点边界用于表示压感笔迹结束的部分。
S04,根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,以所述两条贝塞尔曲线作为所述三个笔迹点所对应绘制区域的两侧边界。
其中,贝塞尔曲线,又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线,由线段和节点组成,利用它可以精确地画出曲线,形成更好的压感笔迹效果。
S05,根据所述起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域,得到所述三个笔迹点对应的压感笔迹区域。
其中,通过所述的起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域就可以得到一个封闭的图形,得到所述三个笔迹点对应的压感笔迹区域,避免了在三个笔迹点之间的位置重复画圆导致效率低下的问题,达到了笔迹光滑的效果,很好地优化了笔迹效果和用户体验。
在一可选实施例中,所述根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界,包括:过圆心a1作垂直于圆心a1、a2连线的第一直线,得到第一直线相交于圆A1的两个交点为E和F;过圆心a2作垂直于圆心a1、a2连线的第二直线,得到第二直线相交于圆A2的两个交点为C和D;其中E与C同侧,F与D同侧;获取点E、C连线上的一点G,获取点F、D连线上的一点H,作线段GH作为起始端点边界。例如图2所示,所述点G为线段EC的中点,点H为线段FD的中点,点M为线段RK的中点,点N为线段SJ的中点。
通过以上实施例,可以得到压感笔迹的起始端点边界,方便快捷,不容易造成卡顿,优化了用户体验。
在另一可选实施例中,所述根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界,包括:过圆心a1作不垂直于圆心a1、a2连线,例如成85度(该85度并不是为了限制本发明,只是为了适应具体的实施例)的第一直线,得到第一直线相交于圆A1的两个交点为E和F;过圆心a2作不垂直于圆心a1、a2连线,例如成85度的第二直线,得到第二直线相交于圆A2的两个交点为C和D;其中E与C同侧,F与D同侧;获取点E、C连线上的一点G,获取点F、D连线上的一点H,作线段GH作为起始端点边界。
通过以上实施例,同样可以得到压感笔迹的起始端点边界,方便快捷,不容易造成卡顿,优化了用户体验。
在另一可选实施例中,所述根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界,包括:过圆心a1作垂直于圆心a1、a2连线的第一直线,得到第一直线相交于圆A1的两个交点为E和F;过圆心a2作垂直于圆心a1、a2连线的第二直线,得到第二直线相交于圆A2的两个交点为C和D;其中E与C同侧,F与D同侧;获取点E、C连线的中点左侧的一点G(包括点E),获取点F、D连线的中点左侧的一点H(包括点F),作线段GH作为起始端点边界。在其他可选实施例中,还可以是,所述点G为线段EC的中点,点H为线段FD的中点,点M为线段RK的终止点K,点N为线段SJ的终止点J。或者,还可以是,所述点G为线段EC的起始点E,点H为线段FD的起始点F,点M为线段RK的终止点K,点N为线段SJ的终止点J。或者,还可以是所述点G为线段EC上的其他任一点,点H为线段FD上的其他任一点,点M为线段RK上的其他任一点,点N为线段SJ上的其他任一点,只需满足线段GH在线段MN的前侧(前侧即图2中所示的左侧)。
在一可选实施例中,如图3所示,根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,包括:作圆心a1、a2连线与圆心a2、a3连线所构成的夹角的角平分线,得到该角平分线相交于圆A2的两个交点为P和Q;其中P与G同侧,Q与H同侧;以P为控制点且经过点G、M作第一贝塞尔曲线,以Q为控制点且经过点N、H作第二贝塞尔曲线。
通过以上实施例,同样可以得到压感笔迹的起始端点边界,方便快捷,不容易造成卡顿,优化了用户体验。
在另一可选实施例中,还包括所述第一直线和第二直线不垂直于圆心a1、a2连线,所述G点不是E、C连线上的一点,所述H点不是F、D连线上的一点。
通过以上实施例,同样可以得到压感笔迹的起始端点边界,方便快捷,不容易造成卡顿,优化了用户体验。
在一可选的实施例中,还包括根据笔迹点处的压感值、接触面积、触摸长轴和/或触摸短轴确定笔迹点对应的笔迹半径的步骤。如图2所示,圆A1、A2的半径是通过对应笔迹点的压感值、接触面积、触摸长轴或触摸短轴等的一系列的变换来获得的,一系列的变换是指扩大或者缩小某个适当的倍数(例如1.5倍,该值可根据实际情况进行调整)来作为半径的大小。
优选地,所述根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界,包括:取1.3倍的变化值作为计算圆A1、圆A2的半径的倍数。同理,所述根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界的步骤中,包括根据一系列变换所确定的倍数来调整所述圆的半径大小。
通过以上实施例,使半径均匀可变,从而达到压感笔的粗细变化的效果,使得笔迹绘制效果更理想。
在一个具体的实施例中,如图4所示,确定压感笔迹区域的过程包括:绘制压感笔的起始部分S71;绘制压感笔的中间部分S72;在最后一个点画笔锋效果S73。
其中,绘制压感笔的起始部分指的是根据第一个笔迹点的数据所画出的圆所在的区域,在最后一个点画笔锋效果指的是根据抬笔时的笔迹点、根据该笔迹点的位置、速度所计算出来的位置偏移点以及抬笔时的笔迹点的前一个笔迹点所画出来的区域,其余则属于绘制压感笔的中间部分。下面分别对三个部分的绘制方式进行说明。
如图5所示,绘制压感笔的起始部分(即检测到第一个笔迹点时对应的区域,以及检测到第二个笔迹点时对应的笔迹区域)包括:
若当前笔迹点为第一个压感笔迹点,根据当前笔迹点的数据作圆,将该圆的区域作为当前的压感笔迹区域。
若当前笔迹点为第二个压感笔迹点,根据当前笔迹点和第一个笔迹点各自的笔迹点数据分别作圆,得到圆A2、圆A1,圆心分别为a2、a1;过圆心a1作垂直于圆心a1、a2连线的第一直线,得到第一直线相交于圆A1的两个交点为E和F;过圆心a2作垂直于圆心a1、a2连线的第二直线,得到第二直线相交于圆A2的两个交点为C和D;其中E与C同侧,F与D同侧;作线段EC和线段FD,根据线段EF、线段CD、线段EC和线段FD所围成的区域得到当前的压感笔迹区域。
进一步地,确定压感笔迹区域的起始部分的步骤还包括:获取压感笔按下的数据,数据包括该压感笔迹点的横坐标、纵坐标和半径;根据所述笔迹点的位置为圆心,笔迹点的半径为半径画圆。
如图2和图3所示,确定压感笔迹区域的中间部分的具体方式可参照上述实施例所述。若当前笔迹点为第三个压感笔迹点,将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,根据所述三个笔迹点各自的笔迹点数据分别作圆,得到圆A3、圆A2、圆A1,圆心分别为a3、a2、a1;接下来的步骤可参照上述实施例所述,根据上述实施例的步骤所得到的区域为当前的压感笔迹区域。
如图6所示,在最后一个点画笔锋效果的步骤包括:
若当前笔迹点为本次压感笔按下时的最后一个笔迹点,则根据当前笔迹点的位置坐标和移动速度确定一个偏移笔迹点;将偏移笔迹点、当前笔迹点以及当前笔迹点相邻的上一笔迹点作为相邻的最后三个笔迹点,设定所述偏移笔迹点对应的笔迹半径为0,重复上述步骤S02-S05,得到所述最后三个笔迹点对应的压感笔迹区域。
在一可选实施例中,根据当前笔迹点的位置坐标和移动速度确定一个偏移笔迹点包括:计算当前笔迹点与偏移笔迹点之间的距离,该距离等于当前笔迹点对应的移动速度乘以预置的偏移时长;确定偏移笔迹点的方位,该方位位于与当前笔迹点相邻的上一笔迹点的位置坐标到当前笔迹点的位置坐标的连线的外延长线上;最后根据所述距离和方位得到所述偏移笔迹点的位置坐标,如图6中的点B。
为了更好的理解,确定最后一个点画笔锋效果的笔迹区域的具体说明如下:
如图6所示,根据抬笔时的位置A和速度计算出一个合适的位置偏移B,根据绘制压感笔的中间部分的步骤可以得到五个点,分别为M、B、P、N、Q;
其中,获取位置偏移B的步骤包括:计算当前笔迹点与偏移笔迹点之间的距离,该距离等于当前笔迹点对应的移动速度乘以预置的偏移时长;确定当前笔迹点的方位,该方位位于与当前笔迹点相邻的上一笔迹点的位置坐标到当前笔迹点的位置坐标的连线的延长线上;根据所述距离和方位得到所述偏移笔迹点的位置坐标。
在具体的实施例中,Android系统提供了一种跟踪触摸事件滑动速度的工具VelocityTracker,VelocityTracker的原理是通过分析触摸点(MotionEvent)在单位时间内发生的位移来计算速度,在这种情况下,VelocityTracker可以获得横向速率和纵向速率。其中,如果抬手的时候速率越大,笔锋越长;速率越小,笔锋越短。通过把横向速率缩放适当的倍数作为横轴的偏移dx,把纵向速率缩放适当的倍数得出纵轴的的偏移dy。
进一步地,过点M、B以P为控制点画一条贝塞尔曲线,过点B、N以Q为控制点画另一条贝塞尔曲线;连接NM,得到一个封闭的图形;就得到了压感笔迹的笔锋绘制区域。此外,把得到的封闭图形填充颜色,就得到了压感笔迹的笔锋效果。
通过以上实施例,可以得到一个封闭的图形,即一条笔迹宽度变化的曲线,避免了重复画圆出现的效率低下、笔迹不光滑、容易造成卡顿的问题,很好地优化了笔迹效果和用户体验。
需要说明的是,对于前述的各方法实施例,为了简便描述,将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。
基于与上述实施例中的确定压感笔迹区域的方法相同的思想,本发明还提供确定压感笔迹区域的装置,该装置可用于执行上述确定压感笔迹区域的方法。为了便于说明,确定压感笔迹区域的装置实施例的结构示意图中,仅仅示出了与本发明实施例相关的部分,本领域技术人员可以理解,图示结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
图7为本发明一实施例的确定压感笔迹区域的装置的示意性结构图。如图7
所示,本实施例的确定压感笔迹区域的装置包括:笔迹点获取模块310,画图模块320,起止边界确定模块330,侧边界确定模块340和绘制区域确定模块350,各模块详述如下:
笔迹点获取模块310,用于获取压感笔迹点数据,笔迹点数据包括笔迹点的位置坐标以及对应的笔迹半径。
画圆模块320,用于将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,根据所述三个笔迹点各自的笔迹点数据分别作圆,得到圆A3、圆A2、圆A1,圆心分别为a3、a2、a1。
起止边界确定模块330,用于根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界;根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界。
侧边界确定模块340,用于根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,以所述两条贝塞尔曲线作为所述三个笔迹点所对应绘制区域的两侧边界。
绘制区域确定模块350,用于根据所述起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域,得到所述三个笔迹点对应的压感笔迹区域。
通过以上实施例,可以实现确定压感笔迹区域的装置,该装置可以应用于绘制压感笔迹,笔迹流畅,绘制效率高。
在一可选实施例中,所述起止边界确定模块330具体用于:过圆心a1作垂直于圆心a1、a2连线的第一直线,得到第一直线相交于圆A1的两个交点为E和F;过圆心a2作垂直于圆心a1、a2连线的第二直线,得到第二直线相交于圆A2的两个交点为C和D;其中E与C同侧,F与D同侧;获取点E、C连线上的一点G,获取点F、D连线上的一点H,作线段GH作为起始端点边界。
所述起止边界确定模块330,还具体用于过圆心a2作垂直于圆心a2、a3连线的第三直线,得到第三直线相交于圆A2的两个交点为R和S;过圆心a3作垂直于圆心a2、a3连线的第四直线,得到第四直线相交于圆A3的两个交点为K和J;其中R与K同侧,S与J同侧;获取点R、K连线上的一点M,获取点S、J连线上的一点N,作线段MN作为终止端点边界。其中,线段GH在线段MN的前侧。
优选地,所述点G为线段EC的中点,点H为线段FD的中点,点M为线段RK的中点,点N为线段SJ的中点。或者,所述点G为线段EC的起始点E,点H为线段FD的起始点F,点M为线段RK的中点,点N为线段SJ的中点。
或者,所述点G为线段EC的中点,点H为线段FD的中点,点M为线段RK的终止点K,点N为线段SJ的终止点J。或者,所述点G为线段EC的起始点E,点H为线段FD的起始点F,点M为线段RK的终止点K,点N为线段SJ的终止点J。
在一可选实施例中,所述侧边界确定模块340具体用于,作圆心a1、a2连线与圆心a2、a3连线所构成的夹角的角平分线,得到该角平分线相交于圆A2的两个交点为P和Q;其中P与G同侧,Q与H同侧;以P为控制点且经过点G、M作第一贝塞尔曲线,以Q为控制点且经过点N、H作第二贝塞尔曲线。
在一可选实施例中,还包括:笔迹半径计算模块,用于根据笔迹点处的压感值、接触面积、触摸长轴和/或触摸短轴确定笔迹点对应的笔迹半径。
在一可选实施例中,还包括:填充模块,用于对得到的压感笔迹区域进行颜色填充。
需要说明的是,上述示例的确定压感笔迹区域的装置的实施方式中,各模块/单元之间的信息交互、执行过程等内容,由于与本发明前述方法实施例基于同一构思,其带来的技术效果与本发明前述方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
此外,上述示例的确定压感笔迹区域的装置的实施方式中,各程序模块的逻辑划分仅是举例说明,实际应用中可以根据需要,例如出于相应硬件的配置要求或者软件的实现的便利考虑,将上述功能分配由不同的程序模块完成,即将所述确定压感笔迹区域的装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分功能。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,作为独立的产品销售或使用。所述程序在执行时,可执行如上述各方法的实施例的全部或部分步骤。此外,所述存储介质还可设置于一种计算机设备中,所述计算机设备中还包括处理器,所述处理器执行所述存储介质中的程序时,能够实现上述各方法的实施例的全部或部分步骤。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。可以理解,其中所使用的术语“第一”、“第二”等在本文中用于区分对象,但这些对象不受这些术语限制。
以上所述实施例仅表达了本发明的几种实施方式,不能理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (13)
1.一种确定压感笔迹区域的方法,其特征在于,包括:
L1、获取压感笔迹点数据,笔迹点数据包括笔迹点的位置坐标以及对应的笔迹半径;
L2、将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,根据所述三个笔迹点各自的笔迹点数据分别作圆,得到圆A3、圆A2、圆A1,圆心分别为a3、a2、a1;
L3、根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界;根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界;
L4、根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,以所述两条贝塞尔曲线作为所述三个笔迹点所对应绘制区域的两侧边界;
L5、根据所述起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域,得到所述三个笔迹点对应的压感笔迹区域。
2.根据权利要求1所述的确定压感笔迹区域的方法,其特征在于,
所述根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界,包括:
过圆心a1作垂直于圆心a1、a2连线的第一直线,得到第一直线相交于圆A1的两个交点为E和F;过圆心a2作垂直于圆心a1、a2连线的第二直线,得到第二直线相交于圆A2的两个交点为C和D;其中E与C同侧,F与D同侧;
获取点E、C连线上的一点G,获取点F、D连线上的一点H,作线段GH作为起始端点边界;
所述根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界,包括:
过圆心a2作垂直于圆心a2、a3连线的第三直线,得到第三直线相交于圆A2的两个交点为R和S;过圆心a3作垂直于圆心a2、a3连线的第四直线,得到第四直线相交于圆A3的两个交点为K和J;其中R与K同侧,S与J同侧;
获取点R、K连线上的一点M,获取点S、J连线上的一点N,作线段MN作为终止端点边界;
其中,线段GH在线段MN的前侧。
3.根据权利要求2所述的确定压感笔迹区域的方法,其特征在于,所述根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,包括:
作圆心a1、a2连线与圆心a2、a3连线所构成的夹角的角平分线,得到该角平分线相交于圆A2的两个交点为P和Q;其中P与G同侧,Q与H同侧;
以P为控制点且经过点G、M作第一贝塞尔曲线,以Q为控制点且经过点N、H作第二贝塞尔曲线。
4.根据权利要求2或3所述的确定压感笔迹区域的方法,其特征在于,所述点G为线段EC的中点,点H为线段FD的中点,点M为线段RK的中点,点N为线段SJ的中点;
或者,
所述点G为线段EC的起始点E,点H为线段FD的起始点F,点M为线段RK的中点,点N为线段SJ的中点;
或者,
所述点G为线段EC的中点,点H为线段FD的中点,点M为线段RK的终止点K,点N为线段SJ的终止点J;
或者,
所述点G为线段EC的起始点E,点H为线段FD的起始点F,点M为线段RK的终止点K,点N为线段SJ的终止点J。
5.根据权利要求1所述的确定压感笔迹区域的方法,其特征在于,获取压感笔迹点数据之后,还包括:
若当前笔迹点为本次压感笔按下时的最后一个笔迹点,则根据当前笔迹点的位置坐标和移动速度确定一个偏移笔迹点;
将偏移笔迹点、当前笔迹点以及当前笔迹点相邻的上一笔迹点作为相邻的最后三个笔迹点,设定所述偏移笔迹点对应的笔迹半径为0,重复上述步骤L2-L5,得到所述最后三个笔迹点对应的压感笔迹区域。
6.根据权利要求5所述的确定压感笔迹区域的方法,其特征在于,根据当前笔迹点的位置坐标和移动速度确定一个偏移笔迹点,包括:
计算当前笔迹点与偏移笔迹点之间的距离,该距离等于当前笔迹点对应的移动速度乘以预置的偏移时长;
确定偏移笔迹点的方位,该方位位于与当前笔迹点相邻的上一笔迹点的位置坐标到当前笔迹点的位置坐标的连线的外延长线上;
根据所述距离和方位得到所述偏移笔迹点的位置坐标。
7.根据权利要求1所述的确定压感笔迹区域的方法,其特征在于,获取压感笔迹点数据之后,还包括:
若当前笔迹点为第一个压感笔迹点,根据当前笔迹点的数据作圆,将该圆的区域作为当前的压感笔迹区域。
8.根据权利要求7所述的确定压感笔迹区域的方法,其特征在于,获取压感笔迹点数据之后,还包括:
若当前笔迹点为第二个压感笔迹点,根据当前笔迹点和第一个笔迹点各自的笔迹点数据分别作圆,得到圆A2、圆A1,圆心分别为a2、a1;
过圆心a1作垂直于圆心a1、a2连线的第一直线,得到第一直线相交于圆A1的两个交点为E和F;过圆心a2作垂直于圆心a1、a2连线的第二直线,得到第二直线相交于圆A2的两个交点为C和D;其中E与C同侧,F与D同侧;
作线段EC和线段FD,根据线段EF、线段CD、线段EC和线段FD所围成的区域得到当前的压感笔迹区域。
9.根据权利要求1至8任一所述的确定压感笔迹区域的方法,其特征在于,还包括:
根据笔迹点处的压感值、接触面积、触摸长轴和/或触摸短轴确定笔迹点对应的笔迹半径。
10.根据权利要求1至8任一所述的确定压感笔迹区域的方法,其特征在于,还包括:对得到的压感笔迹区域进行颜色填充。
11.一种确定压感笔迹区域的装置,其特征在于,包括:
笔迹点获取模块,用于获取压感笔迹点数据,笔迹点数据包括笔迹点的位置坐标以及对应的笔迹半径;
画圆模块,用于将当前笔迹点、当前笔迹点的上一笔迹点和上上一笔迹点作为相邻的三个笔迹点,根据所述三个笔迹点各自的笔迹点数据分别作圆,得到圆A3、圆A2、圆A1,圆心分别为a3、a2、a1;
起止边界确定模块,用于根据圆A1、圆A2、圆心a1以及圆心a2确定所述三个笔迹点的起始端点边界;根据圆A2、圆A3、圆心a2以及圆心a3确定所述三个笔迹点的终止端点边界;
侧边界确定模块,用于根据圆A1、圆A2、圆A3、圆心a1、圆心a2以及圆心a3绘制两条贝塞尔曲线,以所述两条贝塞尔曲线作为所述三个笔迹点所对应绘制区域的两侧边界;
绘制区域确定模块,用于根据所述起始端点边界、终止端点边界以及两条贝塞尔曲线对应的两侧边界所围成的区域,得到所述三个笔迹点对应的压感笔迹区域。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1至10任一所述方法的步骤。
13.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至9任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710852343.4A CN107526526B (zh) | 2017-09-19 | 2017-09-19 | 确定压感笔迹区域的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710852343.4A CN107526526B (zh) | 2017-09-19 | 2017-09-19 | 确定压感笔迹区域的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107526526A true CN107526526A (zh) | 2017-12-29 |
CN107526526B CN107526526B (zh) | 2020-05-05 |
Family
ID=60737031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710852343.4A Active CN107526526B (zh) | 2017-09-19 | 2017-09-19 | 确定压感笔迹区域的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107526526B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109147004A (zh) * | 2018-08-20 | 2019-01-04 | 广州视源电子科技股份有限公司 | 笔迹显示方法、装置、设备及存储介质 |
CN109445887A (zh) * | 2018-09-19 | 2019-03-08 | 安徽慧视金瞳科技有限公司 | 一种模拟毛笔笔触的绘制方法 |
CN110045906A (zh) * | 2018-01-17 | 2019-07-23 | 北京方正手迹数字技术有限公司 | 虚拟毛笔书写的显示方法、显示系统 |
CN110321054A (zh) * | 2019-06-20 | 2019-10-11 | 广州视源电子科技股份有限公司 | 毛笔笔迹绘制方法、装置、设备及可读存储介质 |
CN111223165A (zh) * | 2020-01-03 | 2020-06-02 | 福建升腾资讯有限公司 | 一种生成无锯的签字图片的方法、装置和设备 |
CN111427499A (zh) * | 2020-03-19 | 2020-07-17 | 广州视源电子科技股份有限公司 | 笔迹绘制方法、装置、设备和存储介质 |
CN111857380A (zh) * | 2020-07-28 | 2020-10-30 | 江西金格科技股份有限公司 | 一种手写原笔迹曲线平滑的实现方法 |
CN112419440A (zh) * | 2020-11-10 | 2021-02-26 | 深圳市益欣网络科技有限公司 | 一种2d水滴张力模拟粘合方法 |
CN113658299A (zh) * | 2021-08-23 | 2021-11-16 | 浙江大华技术股份有限公司 | 移动轨迹的显示方法、装置、存储介质及电子装置 |
CN113760432A (zh) * | 2021-08-30 | 2021-12-07 | 浙江万朋教育科技股份有限公司 | 一种基于H5 Canvas实现还原手写笔迹的涂鸦方法 |
CN116092095A (zh) * | 2023-04-13 | 2023-05-09 | 江苏中威科技软件系统有限公司 | 原笔迹手写笔锋的生成方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081803A (zh) * | 2011-01-20 | 2011-06-01 | 周佳 | 一种手写原笔迹的笔锋实现方法 |
CN105225260A (zh) * | 2015-09-25 | 2016-01-06 | 中国电子科技集团公司第三十二研究所 | 一种手写原笔迹实现方法 |
US20160062637A1 (en) * | 2014-09-03 | 2016-03-03 | Fu Tai Hua Industry (Shenzhen) Co., Ltd. | Method, apparatus and non-transitory storage medium for processing punctuation mark |
CN105405159A (zh) * | 2015-10-27 | 2016-03-16 | 深圳市东向同人科技有限公司 | 一种书写笔迹的显示方法及装置 |
CN106293232A (zh) * | 2016-08-11 | 2017-01-04 | 江苏中威科技软件系统有限公司 | 一种实现笔锋效果的手写输入方法及系统 |
-
2017
- 2017-09-19 CN CN201710852343.4A patent/CN107526526B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081803A (zh) * | 2011-01-20 | 2011-06-01 | 周佳 | 一种手写原笔迹的笔锋实现方法 |
US20160062637A1 (en) * | 2014-09-03 | 2016-03-03 | Fu Tai Hua Industry (Shenzhen) Co., Ltd. | Method, apparatus and non-transitory storage medium for processing punctuation mark |
CN105225260A (zh) * | 2015-09-25 | 2016-01-06 | 中国电子科技集团公司第三十二研究所 | 一种手写原笔迹实现方法 |
CN105405159A (zh) * | 2015-10-27 | 2016-03-16 | 深圳市东向同人科技有限公司 | 一种书写笔迹的显示方法及装置 |
CN106293232A (zh) * | 2016-08-11 | 2017-01-04 | 江苏中威科技软件系统有限公司 | 一种实现笔锋效果的手写输入方法及系统 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110045906B (zh) * | 2018-01-17 | 2020-11-17 | 北京方正手迹数字技术有限公司 | 虚拟毛笔书写的显示方法、显示系统 |
CN110045906A (zh) * | 2018-01-17 | 2019-07-23 | 北京方正手迹数字技术有限公司 | 虚拟毛笔书写的显示方法、显示系统 |
CN109147004A (zh) * | 2018-08-20 | 2019-01-04 | 广州视源电子科技股份有限公司 | 笔迹显示方法、装置、设备及存储介质 |
CN109445887A (zh) * | 2018-09-19 | 2019-03-08 | 安徽慧视金瞳科技有限公司 | 一种模拟毛笔笔触的绘制方法 |
CN110321054A (zh) * | 2019-06-20 | 2019-10-11 | 广州视源电子科技股份有限公司 | 毛笔笔迹绘制方法、装置、设备及可读存储介质 |
CN110321054B (zh) * | 2019-06-20 | 2022-08-16 | 广州视源电子科技股份有限公司 | 毛笔笔迹绘制方法、装置、设备及可读存储介质 |
CN111223165A (zh) * | 2020-01-03 | 2020-06-02 | 福建升腾资讯有限公司 | 一种生成无锯的签字图片的方法、装置和设备 |
CN111427499B (zh) * | 2020-03-19 | 2021-10-19 | 广州视源电子科技股份有限公司 | 笔迹绘制方法、装置、设备和存储介质 |
CN111427499A (zh) * | 2020-03-19 | 2020-07-17 | 广州视源电子科技股份有限公司 | 笔迹绘制方法、装置、设备和存储介质 |
CN111857380A (zh) * | 2020-07-28 | 2020-10-30 | 江西金格科技股份有限公司 | 一种手写原笔迹曲线平滑的实现方法 |
CN112419440A (zh) * | 2020-11-10 | 2021-02-26 | 深圳市益欣网络科技有限公司 | 一种2d水滴张力模拟粘合方法 |
CN113658299A (zh) * | 2021-08-23 | 2021-11-16 | 浙江大华技术股份有限公司 | 移动轨迹的显示方法、装置、存储介质及电子装置 |
CN113658299B (zh) * | 2021-08-23 | 2024-07-09 | 浙江大华技术股份有限公司 | 移动轨迹的显示方法、装置、存储介质及电子装置 |
CN113760432A (zh) * | 2021-08-30 | 2021-12-07 | 浙江万朋教育科技股份有限公司 | 一种基于H5 Canvas实现还原手写笔迹的涂鸦方法 |
CN116092095A (zh) * | 2023-04-13 | 2023-05-09 | 江苏中威科技软件系统有限公司 | 原笔迹手写笔锋的生成方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107526526B (zh) | 2020-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107526526B (zh) | 确定压感笔迹区域的方法及装置 | |
CN112905102B (zh) | 书写笔锋的实现方法、装置、电子设备及可读存储介质 | |
CN100520692C (zh) | 一种实现笔锋效果的手写输入方法 | |
KR101126167B1 (ko) | 터치 스크린 및 디스플레이 방법 | |
EP2488930B1 (en) | Method and apparatus for drawing and erasing calligraphic ink objects on a display surface | |
CN104345948B (zh) | 一种手写原笔迹的实现方法、实现装置及电子设备 | |
KR20130060145A (ko) | 수기 입력의 처리 방법 및 장치 | |
CN107943365B (zh) | 线条笔迹的呈现方法、装置、电子设备及存储介质 | |
CN102902407B (zh) | 一种触摸屏输出显示触摸笔迹的方法及设备 | |
CN111974616B (zh) | 一种点胶方法、装置、计算机设备及存储介质 | |
CN103164865A (zh) | 一种对手写输入进行美化的方法和装置 | |
CN112835504B (zh) | 思维导图轨迹处理方法、装置、计算机设备及存储介质 | |
CN112558812B (zh) | 笔锋生成方法、装置、智能设备及存储介质 | |
WO2015169017A1 (zh) | 一种实现人机交互的方法和装置 | |
CN110633042A (zh) | 一种电子白板笔迹擦除方法、装置及设备 | |
CN104461315A (zh) | 一种实现笔锋效果的手写输入方法 | |
CN113342208B (zh) | 基于多点触控设备的铁路选线方法、终端及存储介质 | |
CN103838429A (zh) | 触摸屏上毛笔效果的绘制方法及系统 | |
CN102103762B (zh) | 一种手写原笔迹的实现方法 | |
CN112148199A (zh) | 一种电子设备中的笔迹实现方法及装置 | |
CN113296616B (zh) | 笔锋选择方法、装置以及智能终端 | |
US11809701B2 (en) | Handwriting forming method and apparatus, and electronic device | |
CN113658299B (zh) | 移动轨迹的显示方法、装置、存储介质及电子装置 | |
US9311725B2 (en) | Systems and methods for creating an electronic signature | |
CN107831935A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |