
一种手写原笔迹的笔锋实现方法.docx
4页一种手写原笔迹的笔锋实现方法专利名称:一种手写原笔迹的笔锋实现方法技术领域:本发明涉及手写输入技术,具体涉及一种手写原笔迹的笔锋实现方法背景技术:随着科技发展的不断进步,众多带有手写输入系统的电子装置开始进入市场,如 具有手写功能的、电子书、平板电脑等以手写平板电脑为例,其集成有手写输入系统,已取代了传统的键盘输入,更易全 方位满足移动办公需求;在使用时,用户通过手写笔在手写输入系统上输入文字或图形后, 输入的文字或图形就直接显示在平板电脑的显示界面上但是,目前市场上的平板电脑的手写输入系统采用的笔迹处理方法主要有以下两 种第一种,将手写笔所经过的点连成线以形成手写输入的笔迹,这种处理得到的笔 迹不够平滑,且缺少手写笔锋的真实效果;第二种,通过曲线拟合来实现,即计算出一条最接近所有采样点的光滑曲线,然后 使用图形系统的曲线绘制功能画出该曲线,该方法算法复杂,实现起来较难于是,迫切需求一种能克服上述缺陷的手写原笔迹的笔锋实现方法发明内容本发明要解决的主要技术问题是,提供一种简单易实现的手写原笔迹的笔锋实现 方法,使用户书写出的笔迹具有在传统纸上书写一样的笔锋效果,以提高用户的书写体验为解决上述技术问题,本发明提供一种手写原笔迹的笔锋实现方法,包括如下步 骤采样检测对触点实时采样并检测出采样点的位置信息,获取采样点的笔宽d ;确定中心线确定相邻采样点间的笔划的中心线,所述相邻采样点为所述中心线 的两个端点;计算关键点的位置信息根据所述中心线及相应采样点的笔宽d计算出笔划的关 键点的位置信息,所述笔划的关键点包括相邻采样点间笔划的中心线的两端点、以及与所 述两端点分别对应的上、下端点;关键点分类根据所述笔划是否与其他笔划相交,分组确定所述笔划的关键点的 类型为半圆点、圆弧点或直线点;笔锋生成根据所述笔划的关键点的位置信息及类型画弧和/或连线生成相应笔 划的笔锋轮廓,然后对其进行填充显示出来。
在本发明的一种实施例中,在所述笔锋生成步骤中,通过调用图形库模块进行画 弧和/或连线生成相应笔划的笔锋轮廓,并通过图形库模块对其进行填充显示出来在本发明的一种实施例中,所述采样检测步骤中,通过检测采样点的压力值,根据 采样点的压力值获取采样点的笔宽d在本发明的一种实施例中,所述计算关键点位置信息的具体步骤包括根据所述 中心线以及所述中心线端点处的笔宽d确定与所述中心线两端点分别对应的上端点和下 端点在本发明的一种实施例中,确定所述中心线端点所对应的上端点和下端点的具体 过程包括在垂直于所述中心线且与所述中心线端点相交的直线上,离所述中心线端点的距离为4的点分别为所述中心线端点所对应的上端点和下端点 2在本发明的一种实施例中,确定所述中心线端点所对应的上端点和下端点的具体过程包括确定垂直于所述中心线的单位法向量,在所述中心线端点处,以得到所述ι ,2中心线端点所对应的笔划的上端点,以得到所述中心线端点所对应的笔划的下端点ο在本发明的一种实施例中,所述关键点分类步骤中,分组确定所述笔划的关键点 的类型的具体过程包括如果所述笔划的其中一端或者两端都未与其他笔划相交,则未与 其他笔划相交的端为所述笔划的笔划末端,所述笔划末端所对应的中心线端点、以及与该 中心线端点所对应的上、下端点为一组半圆点。
在本发明的一种实施例中,所述关键点分类步骤中,分组确定所述笔划的关键点 的类型的具体过程包括如果所述笔划与其他的笔划相交,判断两相交笔划的中心线夹角 是否等于180°,若是,则对所述两相交笔划的交点不做任何处理;否则,所述两相交笔划 的中心线交点处夹角大于180°的一侧的两个外端点确定为一组圆弧点,其中,所述两个外 端点分别为所述两相交笔划交点处的上端点或者下端点;所述相邻采样点间的笔划的两上 端点和两下端点各确定为一组直线点在本发明的一种实施例中,在所述笔锋生成步骤中,若接收到的关键点被确定为 一组半圆端点,则以该组半圆端点中的中心线端点为圆心,以相应的*为半径,以所述半圆 端点中的上、下端点为起始点和终点画半圆在本发明的一种实施例中,在所述笔锋生成步骤中,若接收到的关键点被确定为一组圆弧点,则以该组圆弧点中的一个上端点或者下端点为起点,以相应的*为半径,以所述圆弧点中的另一个上端点或者下端点为终点画圆弧;若接收到的关键点被确定为一组直 线点,则以该组直线点中的一个上端点或者下端点为起始点,以所述直线点中的另一个上 端点或者下端点为终点画直线本发明的有益效果是本发明提供的手写原笔迹的笔锋实现方法,通过实时的对 触点进行采样检测得到采样点的位置信息和笔宽,并确定相邻采样点所确定的笔划的中心 线,然后根据该中心线和采样点的笔宽确定出相应笔划的关键点位置信息,并将笔划的关 键点分组确定为的圆弧点、半圆点、以及直线点,根据关键点的类型及位置信息画弧和/或 连线生成相应笔划的笔锋轮廓,然后对其进行填充显示出来,显示出来的书写笔迹具有像 纸上书写出的文字一样的笔锋。
另外,本发明提供的手写原笔迹的笔锋实现方法,在笔锋生成步骤中,还可直接调用图形库模块进行画弧和/或连线生成相应笔划的笔锋轮廓,并直接调用图形库模块的填 充功能对其进行填充显示出来,因此本发明提供的方法直接利用图形库模块相关的功能即 可实现具有笔锋的手写原笔迹显示,只需将相应笔划的关键点的位置信息以及其类型发送 给图形库模块即可图1为本发明一种实施例中未与其他笔划相交的笔划的轮廓示意图;图2为本发明一种实施例中两相交笔划的圆弧点处理示意图一;图3为本发明一种实施例中两相交笔划的圆弧点处理示意图二 ;图4为本发明一种实施例中两相交笔划的圆弧点处理示意图三具体实施例方式几乎所有的图形库模块都提供了画直线、折线、圆弧等功能,并具有相应的填充功 能,但是图形库模块所画出的曲线的线宽都是固定的,无法形成自然的笔锋效果本发明 提供的笔锋实现方法,直接利用图形库模块绘制笔划的轮廓,然后借助图形库的填充功能 将绘制出的笔划轮廓进行填充并显示出来,从而使用户的书写笔迹具有传统书法书写的笔 锋,以提高用户的书写体验下面通过具体实施方式结合附图对本发明作进一步详细说明在书写过程中,在书写不同的笔划过程时,通常会施加不同的压力,如在落笔处较 重,在起笔处较轻,通过压力的改变,可改变书写笔划的粗细,从而显示出笔锋效果。
本实施 例中笔锋的实现以平板电脑为载体进行说明,包括以下步骤采样检测对用户书写的触点实时采样,检测出采样点的位置信息和压力值,并根 据采样点的压力值获取采样点的笔宽d ;确定中心线确定相邻采样点间的笔划的中心线,相邻采样点为所述中心线的两 个端点;中心线可根据相邻采样点的位置信息确定计算关键点的位置信息根据中心线及相应采样点的笔宽计算出笔划的关键点的 位置信息,笔划的关键点包括相邻采样点间笔划的中心线的两端点、以及与两端点分别对 应的上、下端点;关键点分类根据相邻采样点所确定的笔划是否与其他笔划相交,分组确定上述 相邻采样点所确定的笔划的关键点的类型为半圆点、圆弧点或直线点;笔锋生成根据笔划的关键点的位置信息及类型画弧和/或连线生成相应笔划的笔锋轮廓,如当接收到的关键点为半圆点时,则在该组半圆点对应的位置以相应的半径*画半圆,当接收到的关键点类型为直线点时,则以该组直线点内的相应的起始点和终点画直线,当接收到的关键点为圆弧点时,则在该组圆弧点的位置以相应的半径4画圆弧以形2成笔划的轮廓,然后对其进行填充显示出来本实施例的笔锋生成步骤中,可直接调用图形库模块进行画弧和/或连线生成相应笔划的笔锋轮廓,并直接调用图形库模块的填充功能对其进行填充显示出来,因此只需将相应笔划的关键点的位置信息及其类型发送给图形库模块即可,具体如下在本实施例中,将文字全都拆成单个笔划,笔划与笔划之间的关系无非有以下两 种1、单个笔划单独存在;2、一个笔划与另一个笔划相交。
本实施例所提出的笔划是指由 相邻采样点确定的单笔划,并非汉字书写中所指的笔划,即使是弯、折、钩等汉字笔划也分 解为多个连续的、由采样起点和采样终点确定的单笔划针对上述情况,单个笔划单独存 在时,需处理笔划实时变化的宽度以及笔划的两个端点,即通过图形库模块画出来的笔划 轮廓由两条直线和两个半圆组成,请参见图1 ;当笔划之间相交时,还需处理笔划相交的交 点,即还需对两相交笔划的中心线的交点处做相应的处理,以使两相交笔划的交点处能平 滑过渡由于在书写过程中,笔划的粗细在实时变化,因此本实施例中实时对用户书写时 的触点进行采样以获得采样点的位置信息和笔宽,位置信息为采样点的坐标值,每两个相 邻采样点确定一个笔划,然后根据检测到的采样点的位置信息以及笔宽,对所确定的笔划 进行相应的处理具体如下在电脑存储装置中,预先存储压力值与笔宽的对应关系,根据采样点的压力值的 大小即可得到相应的笔宽,如将压力分为IOM级,并建立压力值与笔宽的一一对应关系, 其表现形式可为函数,也可为表格等,根据检测到的压力值,即可获得相应的笔宽为了获 取更高的精度,也可将压力设置为更高的等级,如可设置为2048级根据实际情况可设置实时采样的采样频率,比如当书写楷书时,由于书写的速度 相对较慢,可选取较低的采样频率即可满足需求,如书写行书或者草书时,其书写的速度较 快,相应的可选择较高的采样频率,以保证书写笔迹的效果。
本实施例中优选的采样频率为 每秒钟120次,以保证笔迹的效果根据选择好的采样频率对用户书写时的触点进行采样检测,相邻采样点确定一笔 划,如按时间顺序采得的采样点分别为1、2、3时,采样点1、2为相邻的采样点,确定笔划时, 采样点1为采样起点,采样点2为采样终点,采样点2、3也为相邻的采样点,确定笔划时,采 样点2为采样起点,采样点3为采样终点,依次类推然后根据采样检测步骤得到的相邻采样点确定上述相邻采样点所确定的笔划的 中心线,中心线可根据相邻采样点的位置信息确定本实施例中选取采样点1、2为例做进 一步说明,请参见图1,采样点1、2的实际笔宽分别为屯和d2,坐标分别为(xl,yl)和(x2, y2) ,Cl1和d2确定了采样点1、2所确定的笔划的宽度,根据采样点1、2的坐标信息可得到中 心线L请参见图2,其中,采样点1、2为中心线L的两端点得到采样点1、2所确定笔划的中心线L之后,可根据采样点1、2的笔宽(I1和d2确 定该笔划两端的上端点和下端点,上述上端点和下端点位于垂直于中心线L并与中心线L的端点相交的直线上,且距离中心线L端点的距离为* ,下面以中心线端点1所对应的上端点和下端点为例进行说明,具体如下设中心线L的单位向量为_;,将_;逆时针旋转90°得 到L的单位法向量相应的,相应的-7为向量_;顺时针旋转90°所确定的向量。
在中心线端点1处,以到中心线端点1所对应的笔划的上端点,以得到中心线端点1所对应的笔划的下端点,从而得到中心线端点1所对应的笔划的上端点以及下端点的位置 信息,相应的,本实施例中的上端点的方向也可为中心线L的单位向量顺时针转动90°所得到的向量7的方向,下端点的方向为中心线L的单位向量的逆时针转动90°所得到的向 量-7的方向中心线端点2所对应的上端点和下端点的确定方法也同上,采样点笔划1、2 所确定的笔划的关键点就确定出来了,即为中心线端点1、2以及中心线端点1、2分别对应 的上端点和下端点在确定了上述关键点的位置信息之后,根据相邻采样点所确定的笔划是否与其他 笔划相交,分组确定相邻采样点所确定的笔划的关键点的类型为半圆点、圆弧点或直线点, 具体如下判断相邻两采样点所确定的笔划是否与其他的笔划相交,如果其中一端或者两 端都未与其他笔划相交,则未与其他笔划相交的端为该笔划的笔划末端(可为笔划的落笔 点,也可为起笔点),笔划末端所对应的上、下端点以及与上、下端点所对应的中心线端点被 确定为一组半圆点如果相邻两采样点所确定的笔划与其他的笔划相交,判断两相交笔划 的中心线的夹角是否等于1。
