一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电子白板的文字绘制方法、系统、电子白板和存储介质与流程

2022-05-31 22:58:22 来源:中国专利 TAG:


1.本技术涉及电子技术,特别是一种电子白板的文字绘制方法、系统、电子白板和存储介质。


背景技术:

2.目前,电子白板被广泛应用于教学、会议等领域,由于它的安装特性,使得手写输入成为其重要的输入方式。目前,手写输入的方式分为两种,一种是输入法形式,一种是画板形式。对于输入法形式,用户在一定范围的书写区域进行书写后,文字会填充到文本之中,按照特定的字体、大小和段落方式进行输入,用户相当于在向一个文档输入文字。而对于画板形式,画板通常只记录用户输入的触摸轨迹,以图形化的方式如实记录用户的书写。在这种方式下,用户可以灵活板书,不受文档格式的约束。
3.然而,对于画板形式的输入方式,可能由于用户的字迹潦草,导致板书混乱,阻碍用户阅读。


技术实现要素:

4.本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种电子白板的文字绘制方法、系统、电子白板和存储介质,以自动优化手写板书。
5.一方面,本技术实施例提供了一种电子白板的文字绘制方法,包括以下步骤:
6.获取触摸事件;
7.根据触摸事件更新当前书写区域的顶点坐标,所述书写区域为包围被归为一个书写区域的若干轨迹的矩形;
8.识别所述书写区域中的文字,作为待绘制文字;
9.确定当前书写区域中的文字数量;
10.根据当前的文字数量和书写区域的顶点坐标信息确定待绘制文字的字体大小,以及待绘制文字的位置信息;
11.根据所述字体大小和位置信息绘制所述待绘制文字。
12.在一些实施例中,所述根据当前的文字数量和书写区域的顶点坐标信息确定待绘文字的字体大小,具体包括:
13.根据书写区域的顶点坐标信息,确定书写区域的高和宽;
14.当当前的文字数量是1时,以所述书写区域的高和宽中较大之一确定待绘制文字的字体大小;
15.当当前的文字数量大于1时,按照所述书写区域的宽度除以文字数量确定待绘制文字的字体大小。
16.在一些实施例中,待绘制文字的位置信息通过以下方式确定:
17.根据书写区域的顶点坐标信息确定书写区域的中心位置,以所述中心位置作为待绘制文字垂直居中的参考点。
18.在一些实施例中,识别所述书写区域中的文字,以及确定当前书写区域中的文字数量具体是:
19.通过ocr技术识别书写区域中的文字,根据ocr的识别结果确定当前书写区域中的文字数量。
20.在一些实施例中,根据触摸事件更新当前书写区域的顶点坐标,具体是:
21.获取针对当前书写区域的触摸事件,确定该触摸事件的轨迹;
22.若该触摸轨迹中最小的x坐标小于当前书写区域的左侧顶点的x坐标,则将当前书写区域的左侧顶点的x坐标更新为该触摸轨迹中最小的x坐标;
23.若该触摸轨迹中最大的x坐是否大于当前书写区域的右侧顶点的x坐标,则将当前书写区域的右侧顶点的x坐标更新为该触摸轨迹中最小的x坐标;
24.若该触摸轨迹中最小的y坐是否小于当前书写区域的上侧顶点的y坐标,则将当前书写区域的下侧顶点的y坐标更新为该触摸轨迹中最小的y坐标;
25.若该触摸轨迹中最大的y坐是否大于当前书写区域的下侧顶点的y坐标,则将当前书写区域的上侧顶点的y坐标更新为该触摸轨迹中最大的y坐标;
26.其中,该坐标系以显示画面的左上角作为顶点,y轴向下延伸,x轴向右延伸。
27.在一些实施例中,所述方法还包括以下步骤:
28.获取输入指令,根据输入指令确定待绘制文字的字体。
29.在一些实施例中,所述方法还包括以下步骤:
30.根据触摸轨迹对应的触摸事件产生的时间,判断多个触摸轨迹是否属于同一书写区域;
31.其中,两个触摸轨迹对应的触摸事件产生的时间差小于预设值的时候,判定这两个触摸轨迹属于同一书写区域。
32.另一方面,本技术实施例提供了一种电子白板的文字绘制系统,包括:
33.存储器,用于存储程序;
34.处理器,用于加载程序所述程序以执行所述的电子白板的文字绘制方法。
35.另一方面,本技术实施例提供了一种电子白板,包括:
36.触摸显示屏,用于显示内容和不抓触摸信号;
37.存储器,用于存储程序;
38.处理器,用于加载所述程序以执行所述的电子白板的文字绘制方法。
39.另一方面,本技术实施例提供了一种存储介质,其存储有程序,所述程序被处理器执行时实现所述的电子白板的文字绘制方法。
40.本技术实施例通过获取触摸事件;根据触摸事件更新当前书写区域的顶点坐标,识别所述书写区域中的文字,作为待绘制文字,接着确定当前书写区域中的文字数量,根据当前的文字数量和书写区域的顶点坐标信息确定待绘制文字的字体大小,以及待绘制文字的位置信息,根据所述字体大小和位置信息绘制所述待绘制文字,可以根据用户板书的位置和板书文字的大小生成绘制标准的文字,使得用户可以根据实际情况自由板书,不受具体文本格式的限制,并且可以自动生成标准的字体,避免手写内容难以阅读。
附图说明
41.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
42.图1是本技术实施例提供的一种电子白板的文字绘制方法的流程图;
43.图2是本技术实施例提供的一种文字绘制效果示意图。
具体实施方式
44.为使本技术的目的、技术方案和优点更加清楚,以下将参照本技术实施例中的附图,通过实施方式清楚、完整地描述本技术的技术方案,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
45.在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
46.本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
47.本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
48.参照图1和图2,本技术实施例提供了一种电子白板的文字绘制方法,包括以下步骤:
49.步骤s1、获取触摸事件。触摸事件是指motionevent,其是android原生屏幕触摸事件的一个类,可记录事件的类型(包括action_down按下、action_move移动、action_up抬起等)以及触摸xy轴坐标位置等。
50.步骤s2、根据触摸事件更新当前书写区域的顶点坐标,所述书写区域为包围被归为一个书写区域的若干轨迹的矩形。如图2所示,手写输入的外矩形200是由输入内容所达到的边界所确定的。在该实施例中,可以通过更新书写区域所在的矩形的定点坐标来修改书写区域所在的位置。可以在触摸轨迹中出现不属于书写区域的点时,根据在x坐标和y坐标远离当前区域的坐标点来更新书写区域的范围。
51.具体地,根据触摸事件更新当前书写区域的顶点坐标,具体是:
52.获取针对当前书写区域的触摸事件,确定该触摸事件的轨迹;
53.若该触摸轨迹中最小的x坐标小于当前书写区域的左侧顶点的x坐标,则将当前书写区域的左侧顶点的x坐标更新为该触摸轨迹中最小的x坐标;
54.若该触摸轨迹中最大的x坐是否大于当前书写区域的右侧顶点的x坐标,则将当前
书写区域的右侧顶点的x坐标更新为该触摸轨迹中最小的x坐标;
55.若该触摸轨迹中最小的y坐是否小于当前书写区域的上侧顶点的y坐标,则将当前书写区域的下侧顶点的y坐标更新为该触摸轨迹中最小的y坐标;
56.若该触摸轨迹中最大的y坐是否大于当前书写区域的下侧顶点的y坐标,则将当前书写区域的上侧顶点的y坐标更新为该触摸轨迹中最大的y坐标;
57.其中,该坐标系以显示画面的左上角作为顶点,y轴向下延伸,x轴向右延伸。
58.可以声明一个rectf矩形对象(rectf),然后根据每一次motionevent事件(event)传入的xy轴坐标去更新外矩形上下左右的位置,代码具体如下:
59.上边:if(event.gety()《rectf.top){
60.rectf.top=event.gety();
61.}
62.下边:if(event.gety()》rectf.bottom){
63.rectf.bottom=event.gety();
64.}
65.左边:if(event.getx()《rectf.left){
66.rectf.left=event.getx();
67.}
68.右边:if(event.getx()》rectf.right){
69.rectf.right=event.getx();
70.}
71.步骤s3、识别所述书写区域中的文字,作为待绘制文字。
72.在本实施例中,通过ocr(光学字符识别)技术识别书写区域中的文字。ocr技术是相对成熟的识别技术,其可以识别出图案中的文字。
73.步骤s4、确定当前书写区域中的文字数量。
74.根据ocr的识别结果确定当前书写区域中的文字数量。通过统计ocr输出结果就可以确定当前书写区域中的字数。
75.步骤s5、根据当前的文字数量和书写区域的顶点坐标信息确定待绘制文字的字体大小,以及待绘制文字的位置信息。
76.考虑到单字书写情况下,存在一些横竖方向真实宽高差距较大的文字,例如“一”和“1”,为了最接近手写文字的大小,故单字与多字情况需要区分开来。
77.多字情况下,书写区域宽度除以文字数量即为字体大小,代码具体如下:
78.intlength=text.length();
79.floattextsize=(float)rectf.width()/length;
80.单字情况下,书写区域宽和高的最大值即为字体大小,具体如下:
81.float textsize=math.max(rectf.width(),rectf.height());
82.因此,在本实施例中,步骤s5具体包括:
83.根据书写区域的顶点坐标信息,确定书写区域的高和宽。根据顶点的坐标可以计算出书写区域的高和宽。
84.当当前的文字数量是1时,以所述书写区域的高和宽中较大之一确定待绘制文字
的字体大小。如果文字数量是一,选择书写区域中高和宽较大之一可以避免出现诸如“1”或者“一”等外边框较小的文字。
85.当当前的文字数量大于1时,按照所述书写区域的宽度除以文字数量确定待绘制文字的字体大小。而在文字数量大于1的时候,则可以考虑采用宽度除以文字数量来确定字体大小。从图2中可知,原来书写区域的外矩形200可能是相对扁平的(假设宽高比例大于字数),此时,生成的字体对应的外矩形300可能会比书写区域的外矩形200高。
86.待绘制文字的位置信息通过以下方式确定:
87.根据书写区域的顶点坐标信息确定书写区域的中心位置400,以所述中心位置作为待绘制文字垂直居中的参考点。
88.具体地,声明一个rectf文字矩形对象(textrectf),并将字体大小设置到画笔paint中:paint.settextsize(textsize);
89.通过指定文字大小的画笔即可得到对应的真实行高,为了更符合视觉体验,文字在书写区域中垂直居中转换显示,得到在该行文字在屏幕中的显示矩形区域位置。
90.步骤s6、根据所述字体大小和位置信息绘制所述待绘制文字。
91.在本步骤中,按照系统的刷新规则刷新显示绘制好的文字,并替代当前的手写内容。
92.具体地,根据显示矩形区域坐标数据,计算可得到中点x轴坐标和基准线y轴坐标,即可绘制出接近手写文字大小的标准字体文字,具体如下:
93.//获取显示矩形区域的中点xy轴坐标值
94.floatcenterx=textrectf.centerx();
95.floatcentery=textrectf.centery();
96.//根据显示矩形区域的中点y轴坐标和字体大小,计算出文字居中显示时,所在的基准线y轴坐标。
97.paint.fontmetrics metrics=paint.getfontmetrics();
98.floatbaseline=centery-(metrics.bottom-metrics.top)/2-metrics.top;
99.//使用drawtext方法,并传入中点x轴坐标和基准线y轴坐标参数,使用居中实心样式画笔绘制。
100.paint.settextalign(paint.align.center);
101.paint.setstyle(paint.style.fill);
102.canvas.drawtext(text,centerx,baseline,paint);
103.本实施例通过根据触摸时间确定书写区域,并识别书写区域中的文字,根据文字数量和书写区域的位置大小确定待绘制文字的位置和大小。这样不会限制用户的自由板书,也可以将手写文字根据手写的位置和大小生成对应的标准文字。既美观,也不影响用户自由板书。
104.在一些实施例中,为了使得用户可以选择自己想用的文字,所述方法还包括以下步骤:
105.获取输入指令,根据输入指令确定待绘制文字的字体。
106.具体地,用户可以通过设置界面或者工具栏选择文字的颜色和字体,用户选择后这些信息会保存在配置文件之中,系统根据配置文件中指向的字体绘制文字。
107.在一些实施例中,会根据触摸时间产生的时间判断触摸事件是否同属于同一个书写区域,如果间隔时间太长,说明这可能是用户在另一个地方重新板书,所述方法还包括以下步骤:
108.根据触摸轨迹对应的触摸事件产生的时间,判断多个触摸轨迹是否属于同一书写区域。
109.其中,两个触摸轨迹对应的触摸事件产生的时间差小于预设值的时候,判定这两个触摸轨迹属于同一书写区域。
110.另外,判断的时候,也应该结合板书的位置来判断触摸轨迹是否属于同一书写区域。例如换行和隔开一定的距离书写文字。如果两个触摸轨迹大于一定的距离,同样判定不属于同一个书写区域。需要理解的是,在绘制文字的时候,会针对整片书写区域进行绘制。也就是说,当你手写一行文字的时候,会在系统判断书写已经停止,书写区域已经固定时,再绘制文字。
111.另一方面,本技术实施例提供了一种电子白板的文字绘制系统,包括:
112.存储器,用于存储程序;
113.处理器,用于加载程序所述程序以执行所述的电子白板的文字绘制方法。
114.另一方面,本技术实施例提供了一种电子白板,包括:
115.触摸显示屏,用于显示内容和不抓触摸信号;
116.存储器,用于存储程序;
117.处理器,用于加载所述程序以执行所述的电子白板的文字绘制方法。
118.另一方面,本技术实施例提供了一种存储介质,其存储有程序,所述程序被处理器执行时实现所述的电子白板的文字绘制方法。
119.在本技术中所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
120.注意,上述仅为本技术的较佳实施例及所运用技术原理。本领域技术人员会理解,本技术不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本技术的保护范围。因此,虽然通过以上实施例对本技术进行了较为详细的说明,但是本技术不仅仅限于以上实施例,在不脱离本技术构思的情况下,还可以包括更多其他等效实施例,而本技术的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献