书写笔迹绘制方法、装置、介质以及交互平板与流程

文档序号:31305897发布日期:2022-08-30 21:19阅读:50来源:国知局
书写笔迹绘制方法、装置、介质以及交互平板与流程

1.本技术实施例涉及交互平板计数领域,特别是涉及一种书写笔迹绘制方法、装置、介质以及交互平板。


背景技术:

2.在交互平板领域,笔迹书写功能作为交互智能平板越来越重要的功能之一,已经广泛的应用于在人们的工作和学习之中,极大的提高了人们的工作及学习效果。例如,在教学场景下,老师可以在当前交互平板上进行笔迹书写,学生通过交互平板能够观看到老师书写的笔迹。发明人在实现本发明的过程中,发现传统技术中至少存在以下问题:在交互平板上进行大量的笔迹书写后,渲染效率低,无法及时有效地绘制书写笔迹。


技术实现要素:

3.为克服相关技术中存在的问题,本技术提供一种书写笔迹绘制方法、装置、介质以及交互平板,具有提高渲染效率,可及时有效地显示书写笔迹的优点。
4.根据本技术实施例的第一方面,提供一种书写笔迹绘制方法,包括如下步骤:
5.响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线;
6.根据所述笔迹轴线的尺寸和预设的渲染线宽,确定目标缓冲区;
7.根据预设的纹理分辨率对所述目标缓冲区进行压缩处理,获得sdf纹理缓冲区;
8.计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;
9.根据所述目标渲染区分配渲染缓冲区,建立所述渲染缓冲区与所述sdf纹理图像的映射关系;
10.对所述渲染缓冲区进行渲染,对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,在所述渲染缓冲区填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,获得书写笔迹;
11.在所述触摸屏上显示所述书写笔迹。
12.根据本技术实施例的第二方面,提供一种书写笔迹绘制装置,包括:
13.笔迹轴线获取模块,用于响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线;
14.目标缓冲区确定模块,用于根据所述笔迹轴线的尺寸和预设的渲染线宽,确定目标缓冲区;
15.纹理缓冲区获取模块,用于根据预设的纹理分辨率对所述目标缓冲区进行压缩处理,获得sdf纹理缓冲区;
16.纹理图像获取模块,用于计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹
理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;
17.建立映射模块,用于根据所述目标缓冲区分配渲染缓冲区,建立所述渲染缓冲区与所述sdf纹理图像的映射关系;
18.书写笔迹获取模块,用于对所述渲染缓冲区进行渲染,对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,在所述渲染缓冲区填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,获得书写笔迹;
19.显示模块,用于在所述触摸屏上显示所述书写笔迹。
20.根据本技术实施例的第三方面,提供一种交互平板,包括触摸屏、处理器和存储器;所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如上述所述的书写笔迹绘制方法。
21.根据本技术实施例的第四方面,提供一种计算机可读存储介质,其上储存有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上述所述的书写笔迹绘制方法。
22.本技术实施例根据预设纹理分辨率对目标缓冲区进行压缩处理,获得sdf纹理缓冲区;计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,且根据渲染缓冲区与所述sdf纹理图像的映射关系,对所述渲染缓冲区进行渲染,填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,在所述触摸屏上显示书写笔迹,进而通过所述sdf纹理图像只需要渲染两个三角形,渲染开销小,进而提高了渲染效率,可及时有效地显示书写笔迹。进一步地,当书写笔迹不变,而需要渲染不同宽度的书写笔迹时,只需要一次预处理生成sdf纹理图像,后续直接通过该同一张sdf纹理图像渲染显示不同宽度的书写笔迹。进一步地,本技术由于sdf纹理为描述距离信息而不是颜色信息,进而结合双线性插值采样方法,可以通过小分辨率的sdf纹理图像进行大分辨率的笔迹绘制时,不容易出现边缘失真的问题。
23.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
24.为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
25.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本技术一个实施例中需要绘制的书写笔迹的示意图;
27.图2为本技术一些技术中对书写笔迹进行三角剖分的示意图;
28.图3为本技术一些技术中对书写笔迹进行渲染的效果图;
29.图4为本技术一个实施例示出的书写笔迹绘制方法的流程图;
30.图5为本技术一个实施例示出的确定笔迹轴线的示意图;
31.图6为本技术一个实施例示出的确定最短距离的示意图;
32.图7为本技术一个实施例示出的绘制出的书写笔迹的效果图;
33.图8为本技术一个实施例示出的确定sdf纹理图像的方法的流程图;
34.图9为本技术另一个实施例示出的绘制出的书写笔迹的效果图;
35.图10为本技术一个实施例示出的书写笔迹绘制装置的示意框图;
36.图11为本技术一个实施例示出的纹理图像获取模块的示意框图;
37.图12为本技术一个实施例示出的交互平板的结构示意图。
具体实施方式
38.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
39.应当明确,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
40.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
41.在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。在此所使用的词语“如果”/“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
42.为了更好的理解本技术的技术方案,下面将对一些技术中的书写笔迹的绘制方法进行说明。需要说明的是,本技术实施例提到的书写笔迹为一种特殊的书写笔迹,请参阅图1,具体为所述书写笔迹的起始端点、结束端点以及拐角均为圆弧形状。请参阅图2和图3,一些技术中对所述书写笔迹的绘制方法是根据书写操作的触摸信息,获得所述书写操作的笔迹轴线;然后根据预设的笔迹宽度和颜色等属性,构造组成书写笔迹的多边形网格轮廓;接着在多边形网格轮廓内进行三角形剖分,最后对多边形网格轮廓内所有的三角形进行渲染,获得书写笔迹。发明人在实现本发明的过程中,发现一些技术中至少存在以下问题:由于一个书写笔迹对应剖分的三角形数目已经很多,当书写笔迹一旦多起来,则三角形的数据会变得非常巨大,进而降低渲染显示书写笔迹的效率。而且即使书写出现微小的变化,均需要重新生成多边形网格轮廓,再对多边形轮廓内重新生成三角形进行渲染,增加了复杂度,进一步降低了渲染效率。为此,本技术提出了一种书写笔迹绘制方法。
43.本技术实施例示出的书写笔迹绘制方法可以由书写笔迹绘制设备执行,所述书写笔迹绘制设备可以通过软件和/或硬件的方式实现,所述书写笔迹绘制设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。例如,所述书写笔迹绘制设备可以是电脑、手机、平板或智能交互平板等智能设备。
44.为了便于理解,实施例中以交互平板为书写笔迹绘制设备进行示例性描述。其中,交互平板可以是通过触控技术对显示在显示平板上的内容进行操控和实现人机交互操作的一体化设备,其集成了投影机、电子白板、幕布、音响、电视机以及视频会议终端等一种或多种功能。
45.一般而言,交互平板包括至少一块显示屏。例如,交互平板配置有一块具有触控功能的显示屏,且该显示屏可以是电容屏、电阻屏或者电磁屏。在一实施例中,用户可以通过手指或触控笔触控显示屏的方式实现触控操作,相应的,交互平板检测触控位置,并根据触控位置对应的触控操作确定响应方案,进而进行响应,以实现触控功能。例如,根据触控位置确定对应的触控操作为书写笔迹,此时,响应方案为显示笔迹。典型的,交互平板安装有至少一类操作系统,其中,操作系统包括但不限定于安卓系统、linux系统及windows系统。在一实施例中,交互平板可以基于操作系统安装至少一个应用程序,实施例中,以具有书写功能的应用程序进行示例性描述。例如,交互平板中安装有具有书写功能的电子白板应用程序。其中,该应用程序可以为操作系统自带的应用程序,也可以为从第三方设备或者服务器中下载的应用程序,交互平板也可以为应用程序本身。可选的,应用程序除具备书写功能外,还具有其他编辑功能,如书写、插入表格、插入图片、插入多媒体、插入图形、绘制表格等功能。
46.实施例1
47.本技术实施例公开的书写笔迹绘制方法,应用于电子设备,下面以所述电子设备为交互平板进行说明。
48.下面将结合附图4至图9,对本技术实施例提供的书写笔迹绘制方法进行详细介绍。
49.请参阅图4,本技术实施例提供的书写笔迹绘制方法,包括如下步骤:
50.步骤s110:响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线。
51.请参阅图5,在一些例子中,通过在触摸屏上打开电子白板显示书写界面,通过手或者触摸笔或其他书写工具在所述书写界面上触摸书写时,可获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线。
52.步骤s120:根据所述笔迹轴线的尺寸和预设的渲染线宽,确定目标缓冲区。
53.在一些例子中,所述笔迹轴线的尺寸包括所述笔迹轴线的长度和所述笔迹轴线的宽度;其中,所述笔迹轴线的长度为所述笔迹轴线起点到所述笔迹轴线终点之间的距离,所述笔迹轴线的宽度为垂直于所述笔迹轴线的长度方向上所述笔迹轴线的两端的最大距离。所述渲染线宽为绘制显示的书写笔迹的宽度大小,其可以根据需要设置。缓冲区是内存空间的一部分,也就是说,在内存空间中预留指定大小的存储空间用来对输入或输出的数据的临时存储,这部分预留的空间就叫做缓冲区,目的是为了减少数据读取次数,提高数据处理效率,在本技术实施例中,所述目标缓冲区为确定渲染缓冲区以及sdf纹理缓冲区而临时
存储的数据。
54.在一些例子中,所述根据所述笔迹轴线的尺寸和预设的渲染线宽,确定目标渲染区,包括:将所述笔迹轴线的横向长度加上预设的渲染线宽、将所述笔迹轴线的纵向长度加上预设的渲染线宽,获得所述目标缓冲区。通过将所述笔迹轴线的横向长度加上预设的渲染线宽、将所述笔迹轴线的纵向长度加上预设的渲染线宽,获得所述目标缓冲区,从而使书写笔迹在渲染时能够完全不遮挡地渲染显示。
55.步骤s130:根据预设的纹理分辨率对所述目标缓冲区进行压缩处理,获得sdf纹理缓冲区。
56.其中,sdf(signed distance filed,有向距离场)为对每个像素值存储距离。在一些例子中,所述预设的纹理分辨率可以为通过预设的压缩系数确定的纹理分辨率,例如,对于分辨率为1600x512的所述目标缓冲区,若预设的压缩系数为32,则对所述目标缓冲区按照缩放系数为32进行压缩可以获得sdf纹理缓冲区,此时所述sdf纹理缓冲区的纹理分辨率为50x16。所述预设的纹理分辨率也可以未直接预设的纹理分辨率,例如,对于分辨率为1600x512的所述目标缓冲区,若预设的纹理分辨率为50x16,则可计算获得压缩系数为32,进而对所述目标缓冲区进行压缩,获得纹理分辨率为50x16的sdf纹理缓冲区。
57.步骤s140:计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像。
58.请参阅图6,计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离包括:遍历所述笔迹轴线的各点与所述目标缓冲区中与所述sdf纹理缓冲区的各个纹理像素点对应的位置的距离,选取距离最小的值确定为最短距离。
59.步骤s150:根据所述目标渲染区分配渲染缓冲区,建立所述渲染缓冲区与所述sdf纹理图像的映射关系。
60.在一些例子中,所述目标缓冲区与所述渲染缓冲区分辨率相同,即根据所述目标渲染区的分辨率,分配与所述目标渲染区分辨率相同的渲染缓冲区。
61.步骤s160:对所述渲染缓冲区进行渲染,对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,在所述渲染缓冲区填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,获得书写笔迹。
62.需要说明的是,本技术实施例提到的书写笔迹为一种特殊的书写笔迹,具体为所述书写笔迹的起始端点、结束端点以及拐角均为圆弧形状,也即,发明人在实现本发明的过程中发现:对于这样的书写笔迹,所述书写笔迹上的任意一点到所述笔迹轴线的最短距离均小于或等于所述笔迹宽度的一半。为此,本技术在所述渲染缓冲区填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,获得的所述书写笔迹即为所述书写笔迹的起始端点、结束端点以及拐角均为圆弧形状。
63.请参阅图7,在一些例子中,所述sdf纹理图像为矩形图像,因此,所述渲染缓冲区也为矩形,而在渲染时,通常是以三角形为单位进行渲染的,因此,对于渲染缓冲区也构建为两个三角形组成的矩形进行渲染。具体地对所述渲染缓冲区进行渲染时,通过读取两个三角形的顶点确定出渲染缓冲区,对所述sdf纹理图像进行双线性插值采样,获得插值采样
后的各纹理像素点到所述笔迹轴线的距离值,再根据所述渲染缓冲区与所述sdf纹理图像的映射关系,在所述渲染缓冲区填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,获得书写笔迹。
64.步骤s170:在所述触摸屏上显示所述书写笔迹。
65.本技术实施例根据预设纹理分辨率对目标缓冲区进行压缩处理,获得sdf纹理缓冲区;计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,且根据渲染缓冲区与所述sdf纹理图像的映射关系,对所述渲染缓冲区进行渲染,填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,在所述触摸屏上显示书写笔迹,进而通过所述sdf纹理图像只需要渲染两个三角形,渲染开销小,进而提高了渲染效率,可及时有效地显示书写笔迹。进一步地,当书写笔迹不变,而需要渲染不同宽度的书写笔迹时,只需要一次预处理生成sdf纹理图像,后续直接通过该同一张sdf纹理图像渲染显示不同宽度的书写笔迹。进一步地,本技术由于sdf纹理为描述距离信息而不是颜色信息,进而结合双线性插值采样方法,可以通过小分辨率的sdf纹理图像进行大分辨率的笔迹绘制时,不容易出现边缘失真的问题。
66.在一些例子中,步骤s110中,所述触摸点信息为所述触摸屏根据所述书写操作采集的多个连续的采样点;所述响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线,包括:
67.步骤s111:根据相邻的两个所述采样点,得到触摸点连线;
68.步骤s112:根据所述触摸点连线,获得所述书写操作对应的笔迹轴线。
69.通过将两个相邻的采样点进行连线获得触摸点连线,进而实现快捷准确地获得笔迹轴线。
70.请参阅图8,在一些例子中,所述sdf纹理缓冲区包括横向纹理像素点数量和纵向纹理像素点数量。步骤s140中,所述计算所述目标缓冲区中与所述sdf纹理缓冲区的每个像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像,包括:
71.步骤s141:获取所述sdf纹理缓冲区的横向纹理像素点数量和纵向纹理像素点数量。
72.步骤s142:根据所述横向纹理像素点数量和纵向纹理像素点数量,将所述目标缓冲区划分为对应数量的纹理网格。
73.例如,若所述横向纹理像素点数量和纵向纹理像素点数量分别为50和16,则所述目标缓冲区划分的横向纹理网格数量为50和纵向纹理网格数量为16;若所述横向纹理像素点数量和纵向纹理像素点数量分别为50和16,则所述目标缓冲区划分的横向纹理网格数量为25和纵向纹理网格数量为8,则所述目标缓冲区划分的横向纹理网格数量为25和纵向纹理网格数量为8。
74.步骤s143:计算所述目标缓冲区中每个纹理网格的中心点到所述笔迹轴线的最短距离。
75.步骤s144:将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,
获得sdf纹理图像。
76.通过将所述目标缓冲区划分为与所述sdf纹理缓冲区对应数量的纹理网格,进而计算每个纹理网格的中心点到所述笔迹轴线的最短距离,从而将所述最短距离确定为对应的所述sdf纹理图像的纹理像素点的值,进而可以充分保留高分辨率下的所述目标缓冲区的距离信息。进一步地,所述sdf纹理图像中的纹理像素点中记录距离值而不是记录颜色值,从而对图像的压缩和拉伸等处理都不会太大影响显示效果。
77.在一些例子中,所述sdf纹理缓冲区的分辨率即预设的纹理分辨率与所述目标缓冲区的分辨率即渲染显示的分辨率可以不一致,当sdf纹理缓冲区的分辨率越低时,生成sdf纹理图像的效率越高,但是精度也越低,即生成的书写笔迹也模糊,当sdf纹理缓冲区的分辨率越高时,生成sdf纹理图像的效率越低,但是精度也越高,即生成的书写笔迹也越清楚。在一些例子中,所述sdf纹理缓冲区的分辨率即预设的纹理分辨率小于所述目标缓冲区的分辨率即渲染显示的分辨率,以减少计算量,提高渲染效率。请参阅图7,对于分辨率为1600x512的所述目标缓冲区,若所述sdf纹理缓冲区的纹理分辨率为50x16,则显示的笔迹比较平滑,请参阅图9,同样是分辨率为1600x512的所述目标缓冲区,若所述sdf纹理缓冲区的纹理分辨率为25x8,则显示的笔迹的边缘会有点失真,但是由于本技术的sdf纹理图形中存储的是距离值,而且采用了双线性插值的方式,因此,显示的笔迹的仍然有很好的精度,进而即使所述sdf纹理缓冲区的分辨率即预设的纹理分辨率小于所述目标缓冲区的分辨率即渲染显示的分辨率,也有较高的渲染精度。
78.实施例2
79.下述为本技术装置实施例,可以用于执行本技术实施例1中方法的内容。对于本技术装置实施例中未披露的细节,请参照本技术实施例1中方法的内容。
80.请参阅图10,本技术实施例公开的一种书写笔迹绘制装置200,包括:
81.笔迹轴线获取模块210,用于响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线;
82.目标缓冲区确定模块220,用于根据所述笔迹轴线的尺寸和预设的渲染线宽,确定目标缓冲区;
83.纹理缓冲区获取模块230,用于根据预设纹理分辨率对所述目标缓冲区进行压缩处理,获得sdf纹理缓冲区;
84.纹理图像获取模块240,用于计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;
85.建立映射模块250,用于根据所述目标缓冲区分配渲染缓冲区,建立所述渲染缓冲区与所述sdf纹理图像的映射关系;
86.书写笔迹获取模块260,用于对所述渲染缓冲区进行渲染,对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,在所述渲染缓冲区填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,获得书写笔迹;
87.显示模块270,用于在所述触摸屏上显示所述书写笔迹。
88.本技术实施例根据预设纹理分辨率对目标缓冲区进行压缩处理,获得sdf纹理缓
冲区;计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,且根据渲染缓冲区与所述sdf纹理图像的映射关系,对所述渲染缓冲区进行渲染,填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,在所述触摸屏上显示书写笔迹,进而通过所述sdf纹理图像只需要渲染两个三角形,渲染开销小,进而提高了渲染效率,可及时有效地显示书写笔迹。进一步地,当书写笔迹不变,而需要渲染不同宽度的书写笔迹时,只需要一次预处理生成sdf纹理图像,后续直接通过该同一张sdf纹理图像渲染显示不同宽度的书写笔迹。进一步地,本技术由于sdf纹理为描述距离信息而不是颜色信息,进而结合双线性插值采样方法,可以通过小分辨率的sdf纹理图像进行大分辨率的笔迹绘制时,不容易出现边缘失真的问题。
89.在一些例子中,所述目标缓冲区确定模块220用于根据所述笔迹轴线的尺寸和预设的渲染线宽,确定目标缓冲区时,包括用于:将所述笔迹轴线的横向长度加上预设的渲染线宽、将所述笔迹轴线的纵向长度加上预设的渲染线宽,获得所述目标缓冲区。通过将所述笔迹轴线的横向长度加上预设的渲染线宽、将所述笔迹轴线的纵向长度加上预设的渲染线宽,获得所述目标缓冲区,从而使书写笔迹在渲染时能够完全不遮挡地渲染显示。
90.在一些例子中,所述触摸点信息为所述触摸屏根据所述书写操作采集的多个连续的采样点;所述笔迹轴线获取模块210,用于响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线,包括用于:
91.触摸点连线模块(图中未示),用于根据相邻的两个所述采样点,得到触摸点连线;
92.笔迹轴线确定模块(图中未示),用于根据所述触摸点连线,获得所述书写操作对应的笔迹轴线。
93.通过将两个相邻的采样点进行连线获得触摸点连线,进而实现快捷准确地获得笔迹轴线。
94.请参阅图11,在一些例子中,所述sdf纹理缓冲区包括横向纹理像素点数量和纵向纹理像素点数量;所述纹理图像获取模块240,包括:
95.像素点数量获取模块241,用于获取所述sdf纹理缓冲区的横向纹理像素点数量和纵向纹理像素点数量;
96.纹理网格划分模块242,用于根据所述横向纹理像素点数量和纵向纹理像素点数量,将所述目标缓冲区划分为对应数量的纹理网格;
97.距离计算模块243,用于计算所述目标缓冲区中每个纹理网格的中心点到所述笔迹轴线的最短距离;
98.像素值确定模块244,用于将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像。
99.通过将所述目标缓冲区划分为与所述sdf纹理缓冲区对应数量的纹理网格,进而计算每个纹理网格的中心点到所述笔迹轴线的最短距离,从而将所述最短距离确定为对应的所述sdf纹理图像的纹理像素点的值,进而可以充分保留高分辨率下的所述目标缓冲区的距离信息。进一步地,所述sdf纹理图像中的纹理像素点中记录距离值而不是记录颜色值,从而对图像的压缩和拉伸等处理都不会太大影响显示效果。
100.实施例3
101.下述为本技术设备实施例,可以用于执行本技术实施例1中方法的内容。对于本技术装置实施例中未披露的细节,请参照本技术实施例1中方法的内容。
102.请参阅图12,本技术还提供一种电子设备,所述电子设备可以为任何包括触摸屏的任何智能端,例如,可以具体为计算机、手机、平板电脑、交互平板等,在本技术实施例中,所述电子设备为交互平板300,尤其是具有大尺寸的触摸屏的交互平板。所述交互平板300可以包括:至少一个处理器301、至少一个存储器302,至少一个显示器303,至少一个网络接口304,用户接口305以及至少一个通信总线306。
103.其中,所述显示器303包括显示层和触控层,所述显示层用于显示经过处理器处理后的数据;所述触控层可以包括:电容屏,电磁屏或红外屏等,一般而言,所述触控层可以接收用户通过手指或者输入设备输入的触摸操作或书写操作。
104.其中,所述用户接口305主要用于为用户提供输入的接口,获取用户输入的数据。可选的,所述用户接口305还可以包括标准的有线接口、无线接口。
105.其中,所述网络接口304可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
106.其中,所述通信总线306用于实现这些组件之间的连接通信。
107.其中,所述处理器301可以包括一个或者多个处理核心。处理器301利用各种接口和线路连接整个交互平板300内的各个部分,通过运行或执行存储在存储器302内的指令、程序、代码集或指令集,以及调用存储在存储器302内的数据,执行交互平板300的各种功能和处理数据。可选的,处理器301可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器301可集成中央处理器(central processing unit,cpu)、图像处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示层所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器301中,单独通过一块芯片进行实现。
108.其中,存储器302可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器302包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器302可用于存储指令、程序、代码、代码集或指令集。存储器302可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器302可选的还可以是至少一个位于远离前述处理器301的存储装置。如图9所示,作为一种计算机存储介质的存储器302中可以包括操作系统、网络通信模块、用户。
109.所述处理器301可以用于调用所述存储器302中存储的触摸屏的响应延时的应用程序,并具体执行以下操作:响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线;根据所述笔迹轴线的尺寸和预设的渲染线宽,确
定目标缓冲区;根据预设纹理分辨率对所述目标缓冲区进行压缩处理,获得sdf纹理缓冲区;计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;根据所述目标缓冲区分配渲染缓冲区,建立所述渲染缓冲区与所述sdf纹理图像的映射关系;对所述渲染缓冲区进行渲染,对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,在所述渲染缓冲区填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,获得书写笔迹;在所述触摸屏上显示所述书写笔迹。
110.本技术实施例根据预设纹理分辨率对目标缓冲区进行压缩处理,获得sdf纹理缓冲区;计算所述目标缓冲区中与所述sdf纹理缓冲区的每个纹理像素点对应的位置到所述笔迹轴线的最短距离,并将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像;对所述sdf纹理图像进行双线性插值采样,获得插值采样后的各纹理像素点到所述笔迹轴线的距离值,且根据渲染缓冲区与所述sdf纹理图像的映射关系,对所述渲染缓冲区进行渲染,填充颜色至与所述笔迹轴线的距离值小于或等于预设渲染线宽的对应点,在所述触摸屏上显示书写笔迹,进而通过所述sdf纹理图像只需要渲染两个三角形,渲染开销小,进而提高了渲染效率,可及时有效地显示书写笔迹。进一步地,当书写笔迹不变,而需要渲染不同宽度的书写笔迹时,只需要一次预处理生成sdf纹理图像,后续直接通过该同一张sdf纹理图像渲染显示不同宽度的书写笔迹。进一步地,本技术由于sdf纹理为描述距离信息而不是颜色信息,进而结合双线性插值采样方法,可以通过小分辨率的sdf纹理图像进行大分辨率的笔迹绘制时,不容易出现边缘失真的问题。
111.在一些例子中,所述处理器301可以用于调用所述存储器302中存储的触摸屏的响应延时的应用程序,执行根据所述笔迹轴线的尺寸和预设的渲染线宽,确定目标缓冲区时,包括执行以下操作:将所述笔迹轴线的横向长度加上预设的渲染线宽、将所述笔迹轴线的纵向长度加上预设的渲染线宽,获得所述目标缓冲区。通过将所述笔迹轴线的横向长度加上预设的渲染线宽、将所述笔迹轴线的纵向长度加上预设的渲染线宽,获得所述目标缓冲区,从而使书写笔迹在渲染时能够完全不遮挡地渲染显示。
112.在一些例子中,所述触摸点信息为所述触摸屏根据所述书写操作采集的多个连续的采样点;所述处理器301可以用于调用所述存储器302中存储的触摸屏的响应延时的应用程序,执行响应于触摸屏上的书写操作获得触摸点信息,根据所述触摸点信息获取所述书写操作对应的笔迹轴线,包括执行:根据相邻的两个所述采样点,得到触摸点连线;根据所述触摸点连线,获得所述书写操作对应的笔迹轴线。通过将两个相邻的采样点进行连线获得触摸点连线,进而实现快捷准确地获得笔迹轴线。
113.请参阅图11,在一些例子中,所述sdf纹理缓冲区包括横向纹理像素点数量和纵向纹理像素点数量;所述处理器301可以用于调用所述存储器302中存储的触摸屏的响应延时的应用程序,并执行以下操作:获取所述sdf纹理缓冲区的横向纹理像素点数量和纵向纹理像素点数量;根据所述横向纹理像素点数量和纵向纹理像素点数量,将所述目标缓冲区划分为对应数量的纹理网格;计算所述目标缓冲区中每个纹理网格的中心点到所述笔迹轴线的最短距离;将所述最短距离确定为对应的所述sdf纹理缓冲区的纹理像素点的值,获得sdf纹理图像。通过将所述目标缓冲区划分为与所述sdf纹理缓冲区对应数量的纹理网格,
进而计算每个纹理网格的中心点到所述笔迹轴线的最短距离,从而将所述最短距离确定为对应的所述sdf纹理图像的纹理像素点的值,进而可以充分保留高分辨率下的所述目标缓冲区的距离信息。进一步地,所述sdf纹理图像中的纹理像素点中记录距离值而不是记录颜色值,从而对图像的压缩和拉伸等处理都不会太大影响显示效果。
114.实施例4
115.本技术还提供一种计算机可读存储介质,其上储存有计算机程序,所述指令适于由处理器加载并执行上述所示实施例1的方法步骤,具体执行过程可以参见实施例1所示的具体说明,在此不进行赘述。所述存储介质所在设备可以是个人计算机、笔记本电脑、智能手机、平板电脑等电子设备。
116.对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
117.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
118.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中选定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中选定的功能。
119.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中选定的功能的步骤。
120.在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
121.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。存储器是计算机可读介质的示例。
122.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
123.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
124.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1