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

一种利用板擦功能分割绘图笔迹的方法与流程

2021-11-05 20:16:00 来源:中国专利 TAG:


1.本发明涉及白板或涂鸦类应用绘图笔迹处理技术领域,具体涉及一种利用板擦功能分割绘图笔迹的方法。


背景技术:

2.电子白板越来越多地应用于办公场所,其中的白板或涂鸦类应用,为快速交流或灵感创作提供了便利。
3.在白板或涂鸦类应用中,有时需要将绘图笔迹进行分割,然后再对分割出来的绘图笔迹进行移动或缩放等操作。但是,现有的白板或涂鸦类应用没有此类功能,与此类似的板擦功能,会将绘图笔迹直接舍弃,不能达到上述需求。
4.例如:中国发明专利cn104992460b公开了一种擦除矢量笔迹的方法,当检测到擦除动作时,保存擦除开始之前的矢量笔迹,并将所有的矢量笔迹转换成对应的非矢量笔迹,显示非矢量笔迹并隐藏矢量笔迹;检测板擦的移动轨迹,实时计算和显示对非矢量笔迹的擦除,同时记录和计算擦除轨迹;当检测到擦除动作结束时,将记录的所有擦除轨迹与擦除开始之前保存的矢量笔迹进行相交运算,得到擦除后的矢量笔迹;隐藏非矢量笔迹,并显示擦除后的矢量笔迹。上述擦除矢量笔迹的方法,仅实现了擦除功能,不能对分隔开的图形分别单独进行编辑,并且通过对擦除轨迹内第一点进行相交运算,运算量大,速度慢。如果要在白板或涂鸦类应用中添加类似photoshop等软件上的类似功能,将大大增加开发成本。
5.有鉴于此,需要对现有的白板或涂鸦类应用功能进行改进,利用板擦功能实现绘图笔迹的分割,再次进行移动或缩放等操作,速度快,降低开发成本。


技术实现要素:

6.针对上述缺陷,本发明所要解决的技术问题在于提供一种利用板擦功能分割绘图笔迹的方法,以解决被擦除分割的笔迹不能再次编辑,速度慢的问题。
7.为此,本发明提供了一种利用板擦功能分割绘图笔迹的方法,包括以下步骤:
8.将绘图笔迹的每一笔笔画的笔画采样点,分别保存在若干个原始笔画数组中;
9.利用板擦擦除要分割的绘图笔迹,并根据板擦的擦除路径和板擦的大小生成擦除区域;
10.根据每一个原始笔画数组中,每一笔画的每一个笔画采样点是否位于擦除区域内,利用分割数组和临时数组,分别将每一笔笔画进行分割,保存在分割数组中,并将分割数组中的笔画采样点顺序连接生成新笔画显示;
11.通过选择工具对分割笔画再次编辑。
12.在上述方法中,优选地,将一笔笔画进行分割的具体步骤如下:
13.步骤141,创建一个分割数组用于存放分割数组,创建一个临时数组用于临时存放分割数据;
14.步骤142,顺序从原始笔画数组取一笔笔画的一个笔画采样点;
15.步骤143判断该笔画采样点是否位于擦除区域之内;如果不是位于擦除区域之内,则将该笔画采样点保存在数组中,返回步骤142;如果位于擦除区域之内,则判断临时数组是否为空,如果为空,返回步骤142;如果临时数组不为空,则将临时数组中的数据保存在分割数组中,清空临时数组,返回步骤142;
16.重复步骤142、步骤143,直到取完该笔笔画的全部笔画采样点。
17.在上述方法中,优选地,分割后的笔画采样点分别编组,用于进行再次编辑。
18.在上述方法中,优选地,所述笔画采样点包括采样点的坐标和颜色值。
19.在上述方法中,优选地,通过选中分割笔画进行再次编辑,包括移动、缩放、旋转或者复制、删除。
20.由上述技术方案可知,本发明提供的一种利用板擦功能分割绘图笔迹的方法,解决了现有技术中板擦擦除后,分割的笔迹无法再次编辑,且分割算法复杂,速度慢的问题。与现有技术相比,本发明具有以下有益效果:
21.根据每一个原始笔画数组中,每一笔画的每一个笔画采样点是否位于擦除区域内,利用分割数组和临时数组,分别将每一笔笔画进行分割,保存在分割数组中,并将分割数组中的笔画采样点顺序连接生成新笔画显示。算法采用数组实现,算法简单,运行速度快。另外,采样点仅包括笔迹部分,不需要对擦除区域内的所有的点进行采样运算,进一步提高了运算速度。
附图说明
22.为了更清楚地说明本发明的实施例或现有技术中的技术方案,下面将对本发明实施例或现有技术描述中所需要使用的附图做出简单地介绍和说明。显而易见地,下面描述中的附图仅仅是本发明的部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明具体实施例1提供的一种利用板擦功能分割绘图笔迹的方法流程图;
24.图2为本发明中使用画笔工具书写绘制的示意图;
25.图3为本发明中使用板擦擦除部分绘图笔迹的示意图;
26.图4为本发明中对分割笔画操作示意图;
27.图5为本发明中对分割笔画移动示意图。
具体实施方式
28.下面将结合本发明实施例附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,以下所描述的实施例,仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下,所获得的所有其他实施例,都属于本发明保护的范围。
29.本发明的实现原理是:
30.将绘图笔迹的每一笔笔画的笔画采样点,分别保存在若干个原始笔画数组中;
31.利用板擦擦除要分割的绘图笔迹,并根据板擦的擦除路径和板擦的大小生成擦除区域;
32.根据每一个原始笔画数组中,每一笔画的每一个笔画采样点是否位于擦除区域
内,利用分割数组和临时数组,分别将每一笔笔画进行分割,保存在分割数组中,并将分割数组中的笔画采样点顺序连接生成新笔画显示;
33.通过选择工具对分割笔画再次编辑。
34.本发明提供的方案,利用板擦功能实现了对绘图笔迹的分割,算法简单,运行速度快。
35.为了对本发明的技术方案和实现方式做出更清楚地解释和说明,以下介绍实现本发明技术方案的几个优选的具体实施例。
36.需要说明的是,本文中“内、外”、“前、后”及“左、右”等方位词是以产品使用状态为基准对象进行的表述,显然,相应方位词的使用对本方案的保护范围并非构成限制。
37.请参见图1,图1为本发明提供的一种利用板擦功能分割绘图笔迹的方法流程图,该方法包括以下步骤:
38.步骤110,在白板或涂鸦绘图界面内,使用画笔工具书写绘制,生成绘图笔迹,该绘图笔迹可由单笔或多笔笔迹组成,将绘图笔迹的每一笔的笔画采样点graphpoint分别保存在若干个原始笔画数组pathpointlist中,笔画采样点graphpoint为每一笔的每一个像素。
39.笔画采样点的数据包括坐标和颜色值。
40.步骤120,在绘图界面上使用板擦工具擦除绘图笔迹,并记录板擦的擦除路径,根据擦除路径和板擦的大小生成擦除区域rect。
41.步骤130,创建一个分割数组resultlist用于存放分割数组,创建一个临时数组newpointlist用于存放临时数据,分割数组为未擦除的笔画采样点。
42.步骤140,顺序从原始笔画数组pathpointlist取出每一笔画的笔画采样点graphpoint,根据每一个原始笔画数组中,每一笔画的每一个笔画采样点是否位于擦除区域内,利用分割数组和临时数组,分别将每一笔笔画进行分割,保存在分割数组中。
43.步骤150,将分割数组resultlist中所有的笔画采样点graphpoint顺序连接生成新的笔画,替换原绘图笔迹,并通过选择工具对其进行移动、缩放以及旋转等操作。
44.上述方法中,步骤140的详细步骤如下:
45.步骤141,创建一个分割数组用于存放分割数组,创建一个临时数组用于临时存放分割数据;
46.步骤142,顺序从一个原始笔画数组中取出一笔笔画的一个笔画采样点;
47.步骤143,判断该笔画采样点是否位于擦除区域之内;
48.如果不是位于擦除区域之内,则将该笔画采样点保存在分割数组中,返回步骤142;
49.如果位于擦除区域之内,则判断临时数组是否为空;
50.如果为空,则返回步骤142;如果临时数组不为空,则将临时数组中的数据保存在分割数组中,将分割数组resultlist中所有的笔画采样点graphpoint顺序连接生成新笔画,替换原绘图笔迹清空临时数组,返回步骤142;
51.步骤142中,对分割生成的新笔画进行编组,以方便用于进行再次编辑。
52.重复步骤142,直到取完该笔笔画的全部笔画采样点。
53.以下为绘图笔迹分割的一个完整的具体实施例。
54.第1步,使用画笔工具在白板或涂鸦应用的绘图界面上,分别书写“文字”两个字,
如图2所示。
55.将这两个字的每一笔的笔画采样点graphpoint,分别保存在多个不同的原始笔画数组pathpointlist中,本实施例中,由于“文”字有3个笔划,“字”字有4笔笔划,因此,总共生成了7个原始笔画数组pathpointlist[7]。
[0056]
第2步,如图3所示,使用板擦工具在绘图界面上擦除部分绘图笔迹,并根据擦除路径和板擦的大小生成擦除区域。
[0057]
第3步,创建一个分割数组resultlist用于存放分割数据,分割数据为未擦除的笔画采样点;创建一个临时数组newpointlist用于临时存放分割数据。
[0058]
第4步,顺序从原始笔画数组pathpointlist[i]取一个笔画的一个笔画采样点graphpoint[i,j],i=1~7,j为当前笔画的采样点个数。
[0059]
第5步,判断是否为取完了全部的原始笔画数组(i>7),如果是,则结束;否则执行第6步。
[0060]
第6步,判断所取到的笔画采样点graphpoint[i,j]是否为空值,如果是空值,说明该笔笔画已经全部取完,执行第9步;如果不是空值,则说明需要对该笔画进行分割处理,执行第7步。
[0061]
第7步,判断该笔画的笔画采样点graphpoint[i,j]是否位于擦除区域之内;如果不是位于擦除区域之内,说明该笔画采样点graphpoint[i,j]需要分割保留,将该笔画采样点保存在newpointlist数组中,返回第4步;如果位于擦除区域rect之内,则说明当笔笔画已进行分割,执行第8步。
[0062]
第8步,判断newpointlist数组是否为空,如果为空,则表明该笔画采样点graphpoint[i,j]是擦除点,不进行任何操作,返回第4步;如果newpointlist数组不为空,则将newpointlist数组保存在resultlist中,清空newpointlist数组。
[0063]
第9步,将resultlist中的数据生成新的笔划并显示在软件界面上,清空resultlist数组,返回第4步。
[0064]
第10步,对分割后的绘图笔迹进行复制、移动等操作,如图4、图5所示。
[0065]
综合以上具体实施例的描述,本发明提供的一种利用板擦功能分割绘图笔迹的方法,与现有技术相比,具有如下优点:
[0066]
首先,本发明方案,改变了板擦只能实现擦除功能的传统理念,使得擦除后的笔画图形可以独立地进行移动、缩放以及旋转等操作,赋予了板擦更多的新的能,大大提高了用户体验度,使用更加方便。
[0067]
第二、算法采用三个数组实现,算法简单,运行速度快。
[0068]
第三、不需要像现有技术那样,对擦除区域内的每个点都进行运算,只需要计算绘图笔迹的采样点即可,采样点少,运算量小,运行速度快。
[0069]
最后,还需要说明的是,在本文中使用的术语"包括"、"包含"或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句"包括一个

"限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0070]
本发明并不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的
结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。
再多了解一些

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

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

相关文献