System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机辅助设计,尤其涉及一种文字渲染方法、装置、计算机设备和存储介质。
技术介绍
1、随着信息技术的发展,计算机辅助设计(cad)软件在各行各业得到广泛应用,cad软件可有效的帮助设计师提高设计效率。设计图纸中最常见的实体类型之一就是文字。而文字的可选的展示效果之一就是纹理,通过传统技术渲染带有纹理效果的文字时,存在着无法兼顾文字质量与渲染效率之间的关系的问题。
技术实现思路
1、本申请的目的旨在至少能解决上述的技术缺陷之一,特别是现有技术中文字渲染存在着的无法兼顾纹理效果的质量与渲染效率之间的关系的问题。
2、第一方面,本申请提供了一种文字渲染方法,包括:
3、将各目标文字对应的二维纹理拆分并组合成一维纹理;
4、确定目标文字的各像素坐标与一维纹理的各像素坐标间的映射关系;
5、根据一维纹理进行渲染,并输出带有纹理效果的各目标文字。
6、在其中一个实施例中,各目标文字对应的二维纹理拆分并组合成一维纹理,包括:
7、遍历各目标文字,对于任意被遍历到的目标文字,按照预设读取方式获取该目标文字对应的二维纹理中每个像素的像素值,并依次将获取到的像素值填充到一维纹理中。
8、在其中一个实施例中,按照预设读取方式获取该目标文字对应的二维纹理中每个像素的像素值,包括:
9、逐行获取该目标文字对应的二维纹理中每个像素的像素值。
10、在其中一个实施例中,确定目标文字的各像素坐标与
11、在遍历各目标文字的过程中,对于任意被遍历到的目标文字,获取该目标文字的高度和宽度;
12、将当前的偏移记录值作为该目标文字对应的偏移值;
13、根据高度和宽度的乘积,更新偏移记录值;
14、根据该目标文字对应偏移值和宽度,确定该目标文字对应的映射关系。
15、在其中一个实施例中,按照预设读取方式获取该目标文字对应的二维纹理中每个像素的像素值,包括:
16、逐列获取该目标文字对应的二维纹理中每个像素的像素值。
17、在其中一个实施例中,确定目标文字的各像素坐标与一维纹理的各像素坐标间的映射关系,包括:
18、在遍历各目标文字的过程中,对于任意被遍历到的目标文字,获取该目标文字的高度和宽度;
19、将当前的偏移记录值作为该目标文字对应的偏移值;
20、根据高度和宽度的乘积,更新偏移记录值;
21、根据该目标文字对应偏移值和高度,确定该目标文字对应的映射关系。
22、在其中一个实施例中,在将各目标文字对应的二维纹理拆分并组合成一维纹理之前,还包括:
23、对各目标文字对应的二维纹理进行抗锯齿处理。
24、在其中一个实施例中,抗锯齿处理包括:
25、对二维纹理进行边缘检测,确定边缘轮廓;
26、根据边缘轮廓两侧像素点的像素值之差和预设变化梯度,确定变化阶数;
27、将二维纹理外部与边缘轮廓直接相邻的像素点标记为第一阶目标像素点,与第i阶目标像素点直接相邻的像素点标记为第i+1阶目标像素点,其中,i为小于变化阶数的正整数;
28、以二维纹理内部与边缘轮廓直接相邻的像素点的像素值为起点,根据预设变化梯度和各阶目标像素点的阶数,调整各阶像素点的像素值。
29、第二方面,本申请提供了一种文字渲染装置,包括:
30、纹理组合模块,用于将各目标文字对应的二维纹理拆分并组合成一维纹理;
31、映射关系确定模块,用于确定目标文字的各像素坐标与一维纹理的各像素坐标间的映射关系;
32、渲染输出模块,用于根据一维纹理进行渲染,并输出带有纹理效果的各目标文字。
33、第三方面,本申请提供了一种计算机设备,包括一个或多个处理器,以及存储器,存储器中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,执行上述任一实施例中的文字渲染方法的步骤。
34、第四方面,本申请提供了一种存储介质,存储介质中存储有计算机可读指令,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例中的文字渲染方法的步骤。
35、从以上技术方案可以看出,本申请实施例具有以下优点:
36、基于上述任一实施例中的文字渲染方法,将各文字的二维纹理拆分并重新组合成一维纹理。合并后的一维纹理包含所有文字的纹理信息。再确定目标文字本身的坐标与一维纹理之间的映射关系,可在渲染时根据该关系,正确采样一维纹理像素,实现各文字的精确绘制。使用该渲染方法,无论各目标文字大小如何变化,渲染时都可仅调用一次渲染接口,批量绘制目标文字,从而提升渲染效率。另外,文字质量主要取决于所使用的二维纹理素材的质量,使用高质量二维纹理并不会导致渲染效率的降低,使得兼顾高质量和高效率绘制成为可能。
本文档来自技高网...【技术保护点】
1.一种文字渲染方法,其特征在于,包括:
2.根据权利要求1所述的文字渲染方法,其特征在于,所述各目标文字对应的二维纹理拆分并组合成一维纹理,包括:
3.根据权利要求2所述的文字渲染方法,其特征在于,所述按照预设读取方式获取该所述目标文字对应的所述二维纹理中每个像素的像素值,包括:
4.根据权利要求3所述的文字渲染方法,其特征在于,所述确定所述目标文字的各像素坐标与所述一维纹理的各像素坐标间的映射关系,包括:
5.根据权利要求2所述的文字渲染方法,其特征在于,所述按照预设读取方式获取该所述目标文字对应的所述二维纹理中每个像素的像素值,包括:
6.根据权利要求5所述的文字渲染方法,其特征在于,所述确定所述目标文字的各像素坐标与所述一维纹理的各像素坐标间的映射关系,包括:
7.根据权利要求1所述的文字渲染方法,其特征在于,在所述将各目标文字对应的二维纹理拆分并组合成一维纹理之前,还包括:
8.根据权利要求7所述的文字渲染方法,其特征在于,所述抗锯齿处理包括:
9.一种文字渲染装置,其特征在
10.一种计算机设备,其特征在于,包括一个或多个处理器,以及存储器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述一个或多个处理器执行时,执行如权利要求1-8任一项所述的文字渲染方法的步骤。
11.一种存储介质,其特征在于,所述存储介质中存储有计算机可读指令,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行如权利要求1-8任一项所述文字渲染方法的步骤。
...【技术特征摘要】
1.一种文字渲染方法,其特征在于,包括:
2.根据权利要求1所述的文字渲染方法,其特征在于,所述各目标文字对应的二维纹理拆分并组合成一维纹理,包括:
3.根据权利要求2所述的文字渲染方法,其特征在于,所述按照预设读取方式获取该所述目标文字对应的所述二维纹理中每个像素的像素值,包括:
4.根据权利要求3所述的文字渲染方法,其特征在于,所述确定所述目标文字的各像素坐标与所述一维纹理的各像素坐标间的映射关系,包括:
5.根据权利要求2所述的文字渲染方法,其特征在于,所述按照预设读取方式获取该所述目标文字对应的所述二维纹理中每个像素的像素值,包括:
6.根据权利要求5所述的文字渲染方法,其特征在于,所述确定所述目标文字的各像素坐标与所述一维纹理的各...
【专利技术属性】
技术研发人员:王旭灿,王肖,李宁,孙凌云,蔡爱平,何祎,
申请(专利权)人:广州中望龙腾软件股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。