手绘文本处理方法、装置、电子设备和存储介质与流程

未命名 08-26 阅读:106 评论:0


1.本技术涉及计算机技术领域,尤其涉及一种手绘文本处理方法、装置、电子设备和存储介质。


背景技术:

2.手绘是应用于各个行业手工绘制图案的技术手法,也是表达捕捉构思与创意、推敲设计方案最快捷的表现手段,具有不可替代的作用。
3.目前移动端手绘文本内容已得到广泛应用。通常是在手绘前,移动端添加监听触摸事件,在手绘过程获取手绘文本的坐标,并调用相应的方法进行绘制。绘制结束后将手绘文本生成图片再上传保存。
4.但是手绘文本的图片,往往存在文本内容显示明显偏移的问题,导致图片无法使用。


技术实现要素:

5.本技术提供一种手绘文本处理方法、装置、电子设备和存储介质,用以解决手绘文本内容显示偏移的问题。
6.第一方面,本技术提供一种手绘文本处理方法,包括:
7.通过画布接收手绘文本;
8.确定手绘文本的多个坐标点,每个坐标点包括第一坐标和第二坐标,第一坐标为手绘文本在第一方向上的坐标,第二坐标为手绘文本在第二方向上的坐标;
9.根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量;
10.根据第一偏移量调整多个第一坐标,得到多个第三坐标;
11.清空画布;
12.通过画布接收多个第三坐标和多个第二坐标,得到处理后的手绘文本。
13.在一些示例中,方法还包括:
14.根据第二坐标的最大值和最小值,确定多个第二坐标的第二偏移量;
15.根据第二偏移量调整多个第二坐标,得到多个第四坐标;
16.通过画布接收多个第三坐标和多个第二坐标,包括:
17.通过画布接收多个第三坐标和多个第四坐标。
18.在一些示例中,通过画布接收手绘文本之前,还包括:
19.创建线段对象,线段对象用于存储手绘文本中每条线的坐标;
20.创建数组,数组用于存储线段对象;
21.确定手绘文本的多个坐标点,包括:
22.通过数组确定手绘文本的多个坐标点。
23.在一些示例中,根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量,包括:
24.根据第一偏移量=第一坐标最小值-((画布第一方向长度/2)-((第一坐标最大值-第一坐标最小值)/2)),确定第一偏移量。
25.在一些示例中,创建线段对象之前,还包括:
26.创建画布标签并设置画布第一方向长度和画布第二方向长度。
27.在一些示例中,通过画布接收手绘文本之前,还包括:添加监听触摸事件。
28.在一些示例中,通过画布接收手绘文本,包括:
29.当手指触摸画布时,监听触摸开始事件,获取初始坐标点并清空线段对象;
30.当手指在画布上滑动时,监听触摸滑动事件,获取绘制坐标点并存储至线段对象;
31.当手指离开画布时,监听触摸结束事件,将线段对象存储至数组;
32.重复上述步骤直到手绘文本接收完成。
33.第二方面,本技术提供一种手绘文本处理装置,包括:
34.接收模块,用于通过画布接收手绘文本;
35.确定模块,用于确定手绘文本的多个坐标点,每个坐标点包括第一坐标和第二坐标,第一坐标为手绘文本在第一方向上的坐标,第二坐标为手绘文本在第二方向上的坐标;
36.确定模块,还用于根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量;
37.处理模块,用于根据第一偏移量调整多个第一坐标,得到多个第三坐标;
38.处理模块,还用于清空画布;
39.接收模块,还用于通过画布接收多个第三坐标和多个第二坐标,得到处理后的手绘文本。
40.第三方面,本技术提供一种电子设备,包括:存储器和处理器;
41.存储器用于存储计算机程序;处理器用于执行存储器存储的计算机程序,实现第一方面及第一方面任一种示例中的手绘文本处理方法。
42.第四方面,本技术提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时,实现第一方面及第一方面任一种示例中的手绘文本处理方法。
43.本技术提供的手绘文本处理方法、装置、电子设备和存储介质,通过画布接收手绘文本,确定手绘文本的多个坐标点,每个坐标点包括第一坐标和第二坐标,第一坐标包括最大值和最小值,第一坐标为手绘文本在第一方向上的坐标,第二坐标为手绘文本在第二方向上的坐标;根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量;根据第一偏移量调整多个第一坐标,得到多个第三坐标;清空画布,通过画布接收多个第三坐标和多个第二坐标,得到处理后的手绘文本。通过根据第一偏移量,调整第一坐标,实现手绘文本在第一方向的上的位移处理,使手绘文本在画布上的位置可调,避免了手绘内容的显示偏移问题。
附图说明
44.为了更清楚地说明本技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些
附图获得其他的附图。
45.图1为本技术一实施例提供的一种手绘文本处理的场景示意图;
46.图2为本技术一实施例提供的一种手绘文本处理方法的流程图;
47.图3为本技术一实施例提供的一种手绘文本处理方法的流程图;
48.图4为本技术一实施例提供的一种手绘文本处理装置的结构示意图;
49.图5为本技术一实施例提供的电子设备的硬件结构示意图。
具体实施方式
50.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术中的附图,对本技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
52.应当理解,术语“包含”、“包括”表明存在的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。
53.此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“a、b或c”或者“a、b和/或c”意味着“以下任一个:a;b;c;a和b;a和c;b和c;a、b和c”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
54.随着计算机和移动通信技术的快速发展,移动端操作系统也日益智能化,移动端手绘逐渐得到广泛应用,例如在移动端进行手写签名。
55.目前移动端手绘,主要由html5(h5)标签画布(canvas)来实现。手绘前,移动端添加监听触摸事件,获取手绘文本的坐标,并调用相应的方法进行绘制。绘制结束后,将手绘文本生成图片再进行保存。
56.但使用手绘文本的图片时,经常发生文本内容显示明显偏移的问题,导致手绘文本的图片无法使用,例如手写签名后的文件内容显示偏移。
57.针对上述问题,本技术提出了一种手绘文本处理方法、装置、电子设备和存储介质。本技术的方法,通过根据手绘文本多个坐标点第一坐标的第一偏移量调整第一坐标,实现手绘文本在第一方向上的位置调整,使用户可以根据需求调整手绘文本在画布中位置,从而避免手绘文本显示偏移的问题。
58.下面以具体地实施例对本技术的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
59.本技术中,以电子设备为执行主体,执行如下实施例的手绘文本处理方法。具体地,该执行主体可以为电子设备的硬件装置,或者为电子设备中实现下述实施例的软件应用,或者为安装有实现下述实施例的软件应用的计算机可读存储介质,或者为实现下述实
施例的软件应用的代码。
60.图1示出了本技术一实施例提供的一种手绘文本处理的场景示意图。如图1所示,手绘文本的文本内容“张三”位于页面显示的右下角,存在明显偏移,不仅不美观,还可能导致手绘文本不能使用。用户可根据需要对文本内容进行水平居中处理或垂直居中处理,也可以水平方向与垂直方向均居中处理,还可以作其它位移处理。
61.图2示出了本技术一实施例提供的一种手绘文本处理方法的流程图。如图2所示,以电子设备为执行主体,本实施例的方法可以包括如下步骤:
62.s201、通过画布接收手绘文本。
63.本实施例中,画布是指canvas,用户通过canvas进行手绘,电子设备能够接收到手绘文本。
64.本技术中,关于canvas及调用的相关方法,均可参照现有技术理解。
65.s202、确定手绘文本的多个坐标点,每个坐标点包括第一坐标和第二坐标,第一坐标为手绘文本在第一方向上的坐标,第二坐标为手绘文本在第二方向上的坐标。
66.本实施例中,canvas左上角为坐标原点,绘制过程中,可以结合moveto、lineto等方法实时获取绘制内容相对于左上角的横纵坐标。
67.其中,第一方向可以是横轴方向,也可以是纵轴方向,相应地,第二方向为纵轴方向或横轴方向。
68.s203、根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量。
69.本实施例中,偏移是指手绘内容相对于画布,显示位置不符合需求。根据最大第一坐标值和最小第一坐标值,可以确定手绘内容在第一方向上的位置偏移量。
70.s204、根据第一偏移量调整多个第一坐标,得到多个第三坐标。
71.本实施例中,确定第一偏移量之后,可以将第一坐标值增减第一偏移量,使手绘文本在第一方向上位移第一偏移量。
72.s205、清空画布。
73.本实施例中,可以调用context.clearrect(0,0,canvas.width,canvas.height)方法清空画布。
74.s206、通过画布接收多个第三坐标和多个第二坐标,得到处理后的手绘文本。
75.本实施例中,调整第一坐标得到第三坐标后,手绘文本的坐标点即由第三坐标和第二坐标确定。通过画布接收第三坐标和第二坐标,也就是接收在第一方向上进行位置偏移处理后的手绘文本。
76.本实施例中,手绘文本处理结束后,可以采用to date url方法获取手绘文本的base64图片字符串,将图片上传至服务器,得到图片的url链接并保存。
77.本技术提供的手绘文本处理方法,通过计算手绘文本在第一方向上的第一偏移量,并根据第一偏移量对手绘文本在第一方向上作位移处理,使得手绘文本在第一方向上的位置符合用户需求,避免了手绘文本保存为图片后文本内容显示偏移的问题。
78.在一些示例中,步骤s201之前,还可以创建线段对象,线段对象用于存储手绘文本中每条线的坐标;创建数组,数组用于存储线段对象;通过数组确定手绘文本的多个坐标点。
79.本实施例中,线段对象可以是line对象,其结构为{'x':[],'y':[]}。数组可以是
result数组,其结构为[{'x':[],'y':[]},{'x':[],'y':[]},{'x':[],'y':[]}...]。
[0080]
result数组中,包含了手绘文本的全部坐标点,也就可以直接从中找到第一坐标的最大值和最小值,也可以找到第二坐标的最大值和最小值。
[0081]
本示例中,创建线段对象和数组,便于对手绘文本的多个坐标点进行管理,便于确定手绘文本的偏移量,从而对手绘文本进行位移处理。
[0082]
在一些示例中,创建线段对象之前,还可以创建画布标签并设置画布第一方向长度和画布第二方向长度。
[0083]
本示例中,创建画布标签可以是创建canvas标签,设置其宽canvas.width,高canvas.height。画布第一方向长度可以是canvas宽度,也可以是canvas高度,相应地,画布第二方向长度为canvas高度或canvas宽度。
[0084]
画布宽高设置完成后,可以从javascript代码中获取canvas对象,再从canvas对象中通过方法canvas.getcontext('2d')获取上下文对象context,电子设备才能够通过画布接收手绘文本。
[0085]
本示例中,通过width和height属性设置宽高,使canvas标签在页面中占据空间的大小与画布实际大小一致,避免了手绘文本大小不协调的问题。
[0086]
在上述示例的基础上,步骤s203的具体实现方式可以是:根据第一偏移量=第一坐标最小值-((画布第一方向长度/2)-((第一坐标最大值-第一坐标最小值)/2)),确定第一偏移量。
[0087]
若第一方向为横轴方向,则画布第一方向长度为canvas宽度,第一坐标表示x值,第一坐标最大值记为xmax,第一坐标最小值记为xmin,第一偏移量记为xchange,则xchange=xmin-((canvas.width/2)-((xmax-xmin)/2))。
[0088]
在此基础上,步骤s204的具体实现方式可以是:遍历result数组中的所有x值并对其重新赋值,x=x

xchange,得到第三坐标。
[0089]
步骤s206的具体实现方式可以是:遍历result数组,获取数组中的line对象,先调用beginpath,同时遍历line对象中的x数组和y数组,再调用moveto(x[k],y[k])方法、lineto(x[k+1],y[k+1])方法和stroke方法,通过画布接收line对象中的坐标,即第三坐标和第二坐标,当result数组遍历完成,则手绘文本在横轴方向上居中处理完成。
[0090]
若第一方向为纵轴方向,则画布第一方向长度为canvas高度,第一坐标表示y值,第一坐标最大值记为ymax,第一坐标最小值记为ymin,第一偏移量记为ychange,则ychange=ymin-((canvas.height/2)-((ymax-ymin)/2))。
[0091]
在此基础上,步骤s204的具体实现方式可以是:遍历result数组中的所有y值并对其重新赋值,y=y

ychange,得到第四坐标。
[0092]
步骤s206的具体实现方式可以是:遍历result数组,获取数组中的line对象,先调用beginpath,同时遍历line对象中的x数组和y数组,再调用moveto(x[k],y[k])方法、lineto(x[k+1],y[k+1])方法和stroke方法,通过画布接收line对象中的坐标,即第三坐标和第四坐标,当result数组遍历完成,则手绘文本在纵轴方向上居中处理完成。
[0093]
本示例中,第一偏移量根据上述公式进行计算,并根据第一偏移量处理手绘文本,可以使手绘文本在第一方向上居中,避免手绘文本显示偏移的问题。
[0094]
在一些示例中,步骤s201之前,还包括:添加监听触摸事件。
[0095]
移动端监听触摸事件,即touch事件,在用户手指放在屏幕上时、在屏幕上滑动时或从屏幕上移开时触发。
[0096]
在一些示例中,通过画布接收手绘文本,包括:
[0097]
当手指触摸画布时,监听触摸开始事件,获取初始坐标点并清空线段对象。
[0098]
例如,手指触摸画布,即触摸屏幕时,触发touchstart事件,电子设备调用beginpath方法和moveto方法,可以将绘制画笔移动至手指所在的坐标点,即手绘内容的初始坐标,同时清空line对象。
[0099]
当手指在画布上滑动时,监听触摸滑动事件,获取绘制坐标点并存储至线段对象。
[0100]
例如,手指在屏幕上滑动时,触发touchmove事件,电子设备可以获取手指滑动经过的多个坐标点,并存储至line对象中。绘制过程中,电子设备还调用lineto和stroke方法获取绘制内容。
[0101]
当手指离开画布时,监听触摸结束事件,将线段对象存储至数组。
[0102]
例如,手指离开屏幕时,触发touchend事件,电子设备将line对象存储至result数组中,并调用closepath方法结束接收手绘文本。
[0103]
重复上述步骤直到手绘文本接收完成。
[0104]
本示例的方法中,电子设备可以在接收手绘文本的过程中,存储手绘文本的初始坐标点以及绘制坐标点,便于确定手绘文本的多个坐标点,从而确定第一坐标的第一偏移量并根据第一偏移量调整第一坐标,以对手绘文本进行第一方向上的位移处理,避免手绘文本在第一方向上出现偏移。
[0105]
图3示出了本技术一实施例提供的一种手绘文本处理方法的流程图。在图2实施例的基础上,本实施例还能够确定第二坐标的第二偏移量并根据第二偏移量调整第二坐标,以对手绘文本进行第二方向上的位移处理,以得到使手绘文本在第二方向上位置符合用户需要的效果。如图3所示,以电子设备为执行主体,本实施例的方法可以包括如下步骤:
[0106]
s301、通过画布接收手绘文本。
[0107]
本实施例中,画布是指canvas,用户通过canvas进行手绘,电子设备能够接收到手绘文本。
[0108]
s302、确定手绘文本的多个坐标点,每个坐标点包括第一坐标和第二坐标,第一坐标为手绘文本在第一方向上的坐标,第二坐标为手绘文本在第二方向上的坐标。
[0109]
本实施例中,canvas左上角为坐标原点,绘制过程中,可以结合moveto、lineto等方法实时获取绘制内容相对于左上角的横纵坐标。其中,第一方向为横轴方向,第二方向为纵轴方向。
[0110]
s303、根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量;根据第二坐标的最大值和最小值,确定多个第二坐标的第二偏移量。
[0111]
本实施例中,根据最大第一坐标值和最小第一坐标值,可以确定手绘内容在横轴方向上的位置偏移量,即第一偏移量。根据最大第二坐标值和最小第二坐标值,可以确定手绘内容在纵轴方向上的位置偏移量,即第二偏移量。
[0112]
s304、根据第一偏移量调整多个第一坐标,得到多个第三坐标;根据第二偏移量调整多个第二坐标,得到多个第四坐标。
[0113]
本实施例中,确定第一偏移量之后,可以将第一坐标值增减第一偏移量,使手绘文
本在横轴方向上位移第一偏移量,同样地,将第二坐标值增减第二偏移量,使手绘文本在纵轴方向上位移第二偏移量。
[0114]
s305、清空画布。
[0115]
本实施例中,也可以调用context.clearrect(0,0,canvas.width,canvas.height)方法清空画布。
[0116]
s306、通过画布接收多个第三坐标和多个第四坐标,得到处理后的手绘文本。
[0117]
本实施例中,调整第一坐标和第二坐标后,手绘文本的坐标点即由第三坐标和第四坐标确定。通过画布接收第三坐标和第四坐标,也就是接收在横轴方向和纵轴方向上均进行位置偏移处理后的手绘文本。
[0118]
本实施例的手绘文本处理方法,通过手绘文本的第一坐标和第二坐标分别确定第一偏移量和第二偏移量,并根据第一偏移量调整第一坐标,根据第二偏移量调整第二坐标,使手绘文本在第一方向和第二方向上均进行位移处理,避免了手绘文本在两个方向上的显示偏移问题。
[0119]
图4示出了本技术一实施例提供的一种手绘文本处理装置的结构示意图。如图4所示,本实施例的手绘文本处理装置40用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的手绘文本处理装置40包括:
[0120]
接收模块401,用于通过画布接收手绘文本;
[0121]
确定模块402,用于确定手绘文本的多个坐标点,每个坐标点包括第一坐标和第二坐标,第一坐标为手绘文本在第一方向上的坐标,第二坐标为手绘文本在第二方向上的坐标;
[0122]
确定模块402,还用于根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量;
[0123]
处理模块403,用于根据第一偏移量调整多个第一坐标,得到多个第三坐标;
[0124]
处理模块403,还用于清空画布;
[0125]
接收模块401,还用于通过画布接收多个第三坐标和多个第二坐标,得到处理后的手绘文本。
[0126]
一种示例中,处理模块403,还用于创建线段对象,线段对象用于存储手绘文本中每条线的坐标;创建数组,数组用于存储线段对象;
[0127]
确定模块402,还用于通过数组确定手绘文本的多个坐标点。
[0128]
一种示例中,确定模块402,还用于根据第一偏移量=第一坐标最小值-((画布第一方向长度/2)-((第一坐标最大值-第一坐标最小值)/2)),确定第一偏移量。
[0129]
一种示例中,确定模块402,还用于创建画布标签并设置画布第一方向长度和画布第二方向长度。
[0130]
一种示例中,确定模块402,还用于添加监听触摸事件。
[0131]
一种示例中,接收模块401,还用于当手指触摸画布时,监听触摸开始事件,获取初始坐标点并清空线段对象;当手指在画布上滑动时,监听触摸滑动事件,获取绘制坐标点并存储至线段对象;当手指离开画布时,监听触摸结束事件,将线段对象存储至数组;重复上述步骤直到手绘文本接收完成。
[0132]
本技术实施例提供的手绘文本处理装置40,可执行上述方法实施例,其具体实现
原理和技术效果,可参见上述方法实施例,本实施例此处不再赘述。
[0133]
图5示出了本技术实施例提供的一种电子设备的硬件结构示意图。如图5所示,该电子设备50,用于实现上述任一方法实施例中对应于电子设备的操作,本实施例的电子设备50可以包括:存储器501,处理器502和通信接口(图中未示出)。
[0134]
存储器501,用于存储计算机程序。该存储器501可能包含高速随机存取存储器(random access memory,ram),也可能还包括非易失性存储(non-volatile memory,nvm),例如至少一个磁盘存储器,还可以为u盘、移动硬盘、只读存储器、磁盘或光盘等。
[0135]
处理器502,用于执行存储器存储的计算机程序,以实现上述实施例中的手绘文本处理方法。具体可以参见前述方法实施例中的相关描述。该处理器502可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
[0136]
可选地,存储器501既可以是独立的,也可以跟处理器502集成在一起。
[0137]
当存储器501是独立于处理器502之外的器件时,电子设备50还可以包括总线。该总线用于连接存储器501和处理器502。该总线可以是工业标准体系结构(industry standard architecture,isa)总线、外部设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本技术附图中的总线并不限定仅有一根总线或一种类型的总线。
[0138]
通信接口,可以通过总线与处理器502连接。处理器502可以控制通信接口来实现信号的接收和发送的功能。
[0139]
本实施例提供的电子设备50可用于执行上述的手绘文本处理方法,其实现方式和技术效果类似,本实施例此处不再赘述。
[0140]
本技术还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序/指令,计算机程序/指令被处理器执行时用于实现上述的各种实施方式提供的方法。
[0141]
其中,计算机可读存储介质可以是计算机存储介质,也可以是通信介质。通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。计算机存储介质可以是通用或专用计算机能够存取的任何可用介质。例如,计算机可读存储介质耦合至处理器,从而使处理器能够从该计算机可读存储介质读取信息,且可向该计算机可读存储介质写入信息。当然,计算机可读存储介质也可以是处理器的组成部分。处理器和计算机可读存储介质可以位于专用集成电路(application specific integrated circuits,asic)中。另外,该asic可以位于用户设备中。当然,处理器和计算机可读存储介质也可以作为分立组件存在于通信设备中。
[0142]
具体地,该计算机可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random-access memory,sram),电可擦除可编程只读存储器(electrically-erasable programmable read-only memory,eeprom),可擦除可编程只读存储器(erasable programmable read only memory,eprom),
可编程只读存储器(programmable read-only memory,prom),只读存储器(read-only memory,rom),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0143]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0144]
其中,各个模块可以是物理上分开的,例如安装于一个的设备的不同位置,或者安装于不同的设备上,或者分布到多个网络单元上,或者分布到多个处理器上。各个模块也可以是集成在一起的,例如,安装于同一个设备中,或者,集成在一套代码中。各个模块可以以硬件的形式存在,或者也可以以软件的形式存在,或者也可以采用软件加硬件的形式实现。本技术可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0145]
应该理解的是,虽然上述实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0146]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制。尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换。而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。

技术特征:
1.一种手绘文本处理方法,其特征在于,所述方法包括:通过画布接收手绘文本;确定所述手绘文本的多个坐标点,每个所述坐标点包括第一坐标和第二坐标,所述第一坐标为所述手绘文本在第一方向上的坐标,所述第二坐标为所述手绘文本在第二方向上的坐标;根据所述第一坐标的最大值和最小值,确定所述多个第一坐标的第一偏移量;根据所述第一偏移量调整所述多个第一坐标,得到多个第三坐标;清空所述画布;通过所述画布接收所述多个第三坐标和所述多个第二坐标,得到处理后的手绘文本。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述第二坐标的最大值和最小值,确定所述多个第二坐标的第二偏移量;根据所述第二偏移量调整所述多个第二坐标,得到多个第四坐标;通过所述画布接收所述多个第三坐标和所述多个第二坐标,包括:通过所述画布接收所述多个第三坐标和所述多个第四坐标。3.根据权利要求1所述的方法,其特征在于,所述通过画布接收手绘文本之前,还包括:创建线段对象,所述线段对象用于存储所述手绘文本中每条线的坐标;创建数组,所述数组用于存储所述线段对象;确定所述手绘文本的多个坐标点,包括:通过所述数组确定所述手绘文本的多个坐标点。4.根据权利要求3所述的方法,其特征在于,所述根据所述第一坐标的最大值和最小值,确定所述多个第一坐标的第一偏移量,包括:根据第一偏移量=第一坐标最小值-((画布第一方向长度/2)-((第一坐标最大值-第一坐标最小值)/2)),确定所述第一偏移量。5.根据权利要求4所述的方法,其特征在于,所述创建线段对象之前,还包括:创建画布标签并设置所述画布第一方向长度和画布第二方向长度。6.根据权利要求3所述的方法,其特征在于,所述通过画布接收手绘文本之前,还包括:添加监听触摸事件。7.根据权利要求6所述的方法,其特征在于,所述通过画布接收手绘文本,包括:当手指触摸所述画布时,监听触摸开始事件,获取初始坐标点并清空所述线段对象;当手指在画布上滑动时,监听触摸滑动事件,获取绘制坐标点并存储至所述线段对象;当手指离开画布时,监听触摸结束事件,将所述线段对象存储至所述数组;重复上述步骤直到所述手绘文本接收完成。8.一种手绘文本处理装置,其特征在于,所述装置包括:接收模块,用于通过画布接收手绘文本;确定模块,用于确定所述手绘文本的多个坐标点,每个所述坐标点包括第一坐标和第二坐标,所述第一坐标为所述手绘文本在第一方向上的坐标,所述第二坐标为所述手绘文本在第二方向上的坐标;所述确定模块,还用于根据所述第一坐标的最大值和最小值,确定所述多个第一坐标的第一偏移量;
处理模块,用于根据所述第一偏移量调整所述多个第一坐标,得到多个第三坐标;所述处理模块,还用于清空所述画布;所述接收模块,还用于通过所述画布接收所述多个第三坐标和所述多个第二坐标,得到处理后的手绘文本。9.一种电子设备,其特征在于,所述设备包括:存储器和处理器;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,实现如权利要求1-7任一项所述的手绘文本处理方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时用于实现如权利要求1-7任一项所述的手绘文本处理方法。

技术总结
本申请提供一种手绘文本处理方法、装置、电子设备和存储介质。该方法包括:通过画布接收手绘文本,确定手绘文本的多个坐标点,每个坐标点包括第一坐标和第二坐标,第一坐标包括最大值和最小值,第一坐标为手绘文本在第一方向上的坐标,第二坐标为手绘文本在第二方向上的坐标;根据第一坐标的最大值和最小值,确定多个第一坐标的第一偏移量;根据第一偏移量调整多个第一坐标,得到多个第三坐标;清空画布,通过画布接收多个第三坐标和多个第二坐标,得到处理后的手绘文本。本申请的方法,实现了手绘文本在第一方向的上的位置可调,避免了手绘内容的显示偏移问题。内容的显示偏移问题。内容的显示偏移问题。


技术研发人员:衣佳忠 张琼 周远阳 彭驰 庄镇灵 欧阳志群 汪建飞
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2023.05.23
技术公布日:2023/8/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐