本申请实施例涉及渲染,尤其涉及一种文字渲染方法、装置、设备、存储介质及产品。
背景技术:
1、目前对文字的渲染方式一般是基于字体引擎(例如开源的freetype)进行的,在字体引擎对字体文件进行解析并获取文字对应的字位符和几何信息,进而组织成渲染所需的纹理和顶点数据,并渲染出所需要的文字。这种文字渲染方式的关键在于生成的字符位图,字体引擎会根据不同的字号生成不同分辨率的字符位图,渲染时则直接采样对应区域的像素值。这种文字渲染方式的问题是当放大文字时,文字会出现明显的边缘模糊和锯齿。
2、目前常见的解决解决方法是基于有向距离场(sdf,signed distance field)渲染文字,其将每个像素到文字边缘的最短距离存储到字符位图,根据矢量关系进行文字渲染。目前基于有向距离场的文字渲染方式首先使用字体引擎生成位图,又要对位图像素进行至少两次遍历,运行时生成矢量图会造成明显的卡顿,一般的解决方法是离线生成所有文字的矢量图,但是这种文字渲染方式将全部所需文字的矢量图放到一个字符图集中,对内存占用较大。
技术实现思路
1、本申请实施例提供一种文字渲染方法、装置、设备、存储介质及产品,以解决相关技术中文字渲染方式需要将全部所需文字的矢量图放到一个字符图集中,对内存占用较大的技术问题,以动态渲染所需文字,减少对内存的占用。
2、在第一方面,本申请实施例提供了一种文字渲染方法,包括:
3、获取待渲染文字的轮廓线;
4、基于所述待渲染文字创建像素空间,并确定所述像素空间中每个像素点与所述轮廓线对应的轮廓距离;
5、基于所述像素空间中每个像素点对应的轮廓距离在设定的字符图集中添加所述待渲染文字对应的矢量图;
6、基于所述字符图集中的矢量图渲染所述待渲染文字。
7、在第二方面,本申请实施例提供了一种文字渲染装置,包括轮廓获取模块、距离确定模块、图集更新模块和文字渲染模块,其中:
8、所述轮廓获取模块,配置为获取待渲染文字的轮廓线;
9、所述距离确定模块,配置为基于所述待渲染文字创建像素空间,并确定所述像素空间中每个像素点与所述轮廓线对应的轮廓距离;
10、所述图集更新模块,配置为基于所述像素空间中每个像素点对应的轮廓距离在设定的字符图集中添加所述待渲染文字对应的矢量图;
11、所述文字渲染模块,配置为基于所述字符图集中的矢量图渲染所述待渲染文字。
12、在第三方面,本申请实施例提供了一种文字渲染设备,包括:存储器以及一个或多个处理器;
13、所述存储器,用于存储一个或多个程序;
14、当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的文字渲染方法。
15、在第四方面,本申请实施例提供了一种存储计算机可执行指令的非易失性存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的文字渲染方法。
16、在第五方面,本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存储介质中,设备的至少一个处理器从计算机可读存储介质读取并执行计算机程序,使得设备执行如第一方面所述的文字渲染方法。
17、本申请实施例通过获取待渲染文字的轮廓线,创建待渲染文字对应的像素空间并确定像素空间中每个像素点与各个轮廓线对应的轮廓距离,基于每个像素点对应的轮廓距离在设定的字符图集中添加待渲染文字对应的矢量图,并基于字符图集中的矢量图渲染待渲染文字,不需要对待渲染文字的位图像素进行多次的遍历,也不需要预先生成占用较大内存的字符图集,通过动态渲染的方式渲染文字,在保证文字渲染质量和渲染效率的同时,减少对内存的占用。
1.一种文字渲染方法,其特征在于,包括:
2.根据权利要求1所述的文字渲染方法,其特征在于,所述基于所述待渲染文字创建像素空间,包括:
3.根据权利要求1所述的文字渲染方法,其特征在于,所述确定所述像素空间中每个像素点与所述轮廓线对应的轮廓距离,包括:
4.根据权利要求3所述的文字渲染方法,其特征在于,所述计算所述像素空间中每个像素点到每个所述轮廓线的距离信息,包括:
5.根据权利要求4所述的文字渲染方法,其特征在于,所述基于所述轮廓定位信息确定每个所述像素点到各个所述轮廓线的距离信息,包括:
6.根据权利要求4所述的文字渲染方法,其特征在于,所述轮廓线通过贝塞尔曲线进行记录,所述轮廓定位信息基于以下公式进行确定:
7.根据权利要求3所述的文字渲染方法,其特征在于,所述计算所述像素空间中每个像素点到每个所述轮廓线的距离信息,包括:
8.根据权利要求1所述的文字渲染方法,其特征在于,所述获取待渲染文字的轮廓线之前,还包括:
9.一种文字渲染装置,其特征在于,包括轮廓获取模块、距离确定模块、图集更新模块和文字渲染模块,其中:
10.一种文字渲染设备,其特征在于,包括:存储器以及一个或多个处理器;
11.一种存储计算机可执行指令的非易失性存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-8任一项所述的文字渲染方法。
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一项所述的文字渲染方法。