System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及车辆,尤其涉及一种文本渲染方法、装置、车辆及电子设备。
技术介绍
1、随着人机界面(hmi)技术的发展,kanzi引擎逐渐成为汽车、消费电子等领域中广泛使用的图形用户界面开发工具。kanzi引擎支持跨平台的高性能实时渲染,使得开发者能够快速创建复杂的用户界面并轻松集成到嵌入式系统中。在kanzi引擎中,开发者通常通过数据绑定和样式应用来控制ui(user interface,人机交互界面)元素的动态显示,以实现丰富的交互效果。
2、在kanzi开发过程中,文本节点的布局和渲染是一个重要的环节。kanzi引擎提供了多种布局方式和属性来控制文本的显示,如actualwidth属性用于动态获取文本节点的实际宽度。该属性在许多场景下都被用来根据文本内容的长度实时调整ui布局,从而提高用户体验。
3、然而,尽管actualwidth属性在理论上能够实时返回文本节点的实际宽度值,但在实践中,特别是在文本内容动态变化或文本节点的样式复杂时,kanzi引擎中的actualwidth属性常常无法准确反映文本的真实宽度。这种不准确性会导致如布局失效、动态响应迟缓、无法精确控制ui元素、ui表现不统一等问题,影响用户的视觉体验。
技术实现思路
1、本申请实施例提供一种文本渲染方法、装置、车辆及电子设备,以解决相关技术中的kanzi引擎中的actualwidth属性常常无法准确反映文本的真实宽度,会导致如布局失效、动态响应迟缓、无法精确控制ui元素、ui表现不统一等问题,
2、本申请实施例提供了一种文本渲染方法,所述文本渲染方法包括:在对车辆显示页面进行显示内容渲染之前,根据待显示报警标识和待显示报警语种从预设文言映射表中匹配得到待显示文本资源内容;对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据;基于所述待显示布局数据确定所述待显示文本资源内容的当前实际宽度;将所述当前实际宽度传输至车辆显示页面渲染模块,以使所述车辆显示页面渲染模块基于所述当前实际宽度对所述待显示文本资源内容进行渲染。
3、于本申请一实施例中,根据待显示报警标识和待显示报警语种从预设文言映射表中匹配得到待显示文本资源内容,包括:将所述待显示报警标识与所述预设文言映射表中的预设报警标识进行匹配,将匹配成功的预设报警标识确定为目标报警标识,所述预设文言映射表包括多个预设报警标识以及每一预设报警标识对应的一种或多种语种的文言;根据所述待显示报警语种从所述目标报警标识对应的各语种的文言中确定目标文言,并将所述目标文言作为所述待显示文本资源内容。
4、于本申请一实施例中,对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据之前,所述方法还包括:对文本属性进行预先设定,所述文本属性包括字体、字体大小、行间距、垂直填充中至少之一。
5、于本申请一实施例中,对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据,包括:将所述待显示文本资源内容与前一次已显示的前一显示文本资源内容进行比较;若所述待显示文本资源内容与所述前一显示文本资源内容的字节数量相同,且所述文本属性及待显示报警语种均未变化,将所述前一显示文本资源内容对应的历史布局数据作为所述待显示布局数据。
6、于本申请一实施例中,所述方法还包括:若所述待显示文本资源内容与所述前一显示文本资源内容的字节数量不同,或,所述文本属性及待显示报警语种中至少之一发生变化,对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据。
7、于本申请一实施例中,将所述当前实际宽度传输至车辆显示页面渲染模块,包括:将所述当前实际宽度传输至所述车辆显示页面渲染模块的数据上下文中;通过人机交互界面元素中的预设属性从所述数据上下文获取所述当前实际宽度,所述预设属性预先与所述数据上下文中的预设主工程变量绑定;若所述车辆显示页面渲染模块中的若干个目标子工程中的预设文本变量与所述预设主工程变量绑定,当所述预设主工程变量获取所述当前实际宽度时,所述预设文本变量随之自动更新。
8、于本申请一实施例中,对所述待显示文本资源内容进行布局计算之前,所述方法还包括:将所述待显示文本资源内容与历史已显示的全部的历史显示文本资源内容进行比较;若存在一个历史显示文本资源内容与所述待显示文本资源内容相同,将相同的历史显示文本资源内容对应缓存的历史实际宽度作为所述当前实际宽度,并触发将所述当前实际宽度传输至车辆显示页面渲染模块的步骤;若全部的历史显示文本资源内容与所述待显示文本资源内容均不同,触发对所述待显示文本资源内容进行布局计算的步骤。
9、本申请实施例还提供了一种文本渲染装置,所述文本渲染装置包括匹配模块,用于在对车辆显示页面进行显示内容渲染之前,根据待显示报警标识和待显示报警语种从预设文言映射表中匹配得到待显示文本资源内容;布局计算模块,用于对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据;实际宽度确定模块,用于基于所述待显示布局数据确定所述待显示文本资源内容的当前实际宽度;渲染模块,用于将所述当前实际宽度传输至车辆显示页面渲染模块,以使所述车辆显示页面渲染模块基于所述当前实际宽度对所述待显示文本资源内容进行渲染。
10、本申请实施例还提供了一种车辆,包括上述任一项实施例所述的文本渲染装置和显示装置,所述显示装置用于显示所述文本渲染装置渲染后的车辆显示页面。
11、本申请实施例还提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项实施例所述的方法。
12、本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的方法。
13、上述提供的文本渲染方法、装置、车辆及电子设备所实现的方案中,该文本渲染方法通过在对车辆显示页面进行显示内容渲染之前,根据待显示报警标识和待显示报警语种从预设文言映射表中匹配得到待显示文本资源内容,对待显示文本资源内容进行布局计算,得到待显示文本资源内容的待显示布局数据,基于待显示布局数据确定待显示文本资源内容的当前实际宽度,将当前实际宽度传输至车辆显示页面渲染模块,以使车辆显示页面渲染模块基于当前实际宽度对待显示文本资源内容进行渲染,不再依赖kanzi引擎中的actualwidth属性来进行待显示文本资源内容的当前实际宽度的计算,避免了actualwidth属性在某些复杂场景下计算不准确的问题,可以通过在基于该方法生成的代码中动态计算文本节点的实际宽度,并将计算结果传递给如kanzi引擎等车辆显示页面渲染模块的数据上下文,提高了ui布局的准确性和用户的视觉体验。
本文档来自技高网...【技术保护点】
1.一种文本渲染方法,其特征在于,所述文本渲染方法包括:
2.如权利要求1所述的文本渲染方法,其特征在于,根据待显示报警标识和待显示报警语种从预设文言映射表中匹配得到待显示文本资源内容,包括:
3.如权利要求1所述的文本渲染方法,其特征在于,对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据之前,所述方法还包括:
4.如权利要求3所述的文本渲染方法,其特征在于,对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据,包括:
5.如权利要求4所述的文本渲染方法,其特征在于,所述方法还包括:
6.如权利要求1-5任一项所述的文本渲染方法,其特征在于,将所述当前实际宽度传输至车辆显示页面渲染模块,包括:
7.如权利要求1-5任一项所述的文本渲染方法,其特征在于,对所述待显示文本资源内容进行布局计算之前,所述方法还包括:
8.一种文本渲染装置,其特征在于,所述文本渲染装置包括:
9.一种车辆,其特征在于,所述车辆包括显示装置和如权利要求8
10.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的方法。
...【技术特征摘要】
1.一种文本渲染方法,其特征在于,所述文本渲染方法包括:
2.如权利要求1所述的文本渲染方法,其特征在于,根据待显示报警标识和待显示报警语种从预设文言映射表中匹配得到待显示文本资源内容,包括:
3.如权利要求1所述的文本渲染方法,其特征在于,对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据之前,所述方法还包括:
4.如权利要求3所述的文本渲染方法,其特征在于,对所述待显示文本资源内容进行布局计算,得到所述待显示文本资源内容的待显示布局数据,包括:
5.如权利要求4所述的文本渲染方法,其特征在于,所述方法还包括:
6.如权利要求1-5任...
【专利技术属性】
技术研发人员:万子龙,胡德民,于红超,徐开庭,
申请(专利权)人:重庆赛力斯凤凰智创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。