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

一种填充式液晶仪表盘的实现系统及方法与流程

2021-11-25 00:13:00 来源:中国专利 TAG:


1.本发明涉及汽车电子技术领域,尤其涉及一种填充式液晶仪表盘的实现系统及方法。


背景技术:

2.传统的汽车仪表盘多为步进电机式,通过步进电机带动机械指针转动来指示相应的数值。而随着车载芯片技术和液晶屏技术的发展,液晶仪表得到了越来越广泛的应用。在液晶仪表中虚拟的仪表盘可以通过ui的设计而不受传统的指针式样式的限制,例如将仪表盘做成填充式来实现更加灵活的显示形式和更加丰富的显示效果,从而提升产品的竞争力和驾驶员的驾驶体验。
3.公告号为cn104385920a的专利,通过将液晶屏特定区域分割成若干小方框,在指针转动背景重绘时只刷新通过计算获得的方框。主要缺点在于:1、对于不同大小的仪表盘而言方框位置需要重新计算,开发工作量较大;2、只适用于指针式液晶仪表盘,通过纹理旋转得到相应的效果,不适用于填充式液晶仪表盘。
4.公告号为cn106740113a的专利,描述了一种基于指针纹理旋转实现的指针式虚拟仪表盘,通过计算得到旋转角度,进而旋转指针纹理,并将掩膜和光晕贴图到对应位置。主要缺点在于:1、对于不同大小的仪表盘而言整个方案代码需要重新修改,无法做到模块化;2、只适用于指针式液晶仪表盘,通过纹理旋转得到相应的效果,不适用于填充式液晶仪表盘。
5.填充式的仪表盘的hmi实现过程中,由于表盘的样式、大小、填充纹理等方面的不同,不同的表盘往往需要分别编码来实现,开发工作量大,工作效率较低。


技术实现要素:

6.本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种填充式液晶仪表盘的实现系统及方法。
7.本发明解决其技术问题所采用的技术方案是:
8.本发明提供一种填充式液晶仪表盘的实现系统,该系统包括:图片处理模块、参数配置模块、表盘描绘模块;其中:
9.图片处理模块,用于获取液晶仪表盘的表盘背景图和填充进度条的n张切图图片,通过调用纹理绘制接口函数,生成对应的纹理资源,并将生成的纹理资源输出给参数配置模块;
10.参数配置模块,用于接收图片处理模块输出的纹理资源,接收车辆底层传递来的表盘指示值参数信号和表盘是否显示参数信号,接收手工配置输入的可配置参数信号,并将这些参数信号输出给表盘描绘模块;
11.表盘描绘模块,用于在表盘是否显示参数信号为需要描绘时,根据可配置参数信号,将表盘背景图的纹理资源设置为背景纹理,将切图图片的纹理资源分别设置为对应的
填充纹理,并根据表盘指示值参数信号在填充纹理上显示表盘指示值的百分比和表盘指针的显示角度。
12.进一步地,本发明的所述图片处理模块中调用的纹理绘制接口函数为texture::create()接口,将表盘背景图、填充进度条1、填充进度条2
……
填充进度条n所对应的切图资源image0、image1、image2
……
imagen生成对应的纹理资源texture0、texture1、texture2
……
texturen,并将这些纹理输出给参数配置模块。
13.进一步地,本发明的所述参数配置模块中,表盘指示值参数信号为gaugevalue,表盘是否显示参数信号为gaugeenable;可配置参数信号包括:切图零点的x坐标,lefttopp.x;切图零点的y坐标,lefttopp.y;切图的长度,即x方向的长度,layoutwidth;切图的宽度,即y方向的长度,layoutheight;旋转圆心的x坐标,centerp.x;旋转圆心的y坐标,centerp.y;最大旋转角度,maxradians;起始旋转角度,startradians;待描绘纹理的编号,texturenum;表盘最大指示值,gaugemaxvalue。
14.进一步地,本发明的所述表盘描绘模块中的具体工作流程为:
15.实时监测gaugeenable信号,当gaugeenable信号让表盘开始描绘时,将表盘背景图对应的纹理资源texture0设置为背景纹理;根据参数texturenum选择对应的填充纹理;计算出填充纹理中每个点到圆心点的相对坐标(x,y);判断x是否小于0;若是,计算出左半部表盘的当前旋转角度currentradians;若否,计算出右半部表盘的当前旋转角度currentradians;根据表盘当前指示值gaugevalue和最大指示值gaugemaxvalue,计算出表盘的指示值百分比percent;计算出表盘指示角度上限edge;判断currentradians是否大于edge;若是,则将此部分纹理丢弃,否则就显示当前部分的纹理;当gaugeenable信号让表盘描绘时,则重复执行以上流程;否则就停止描绘,将所有的纹理设置成无纹理状态。
16.进一步地,本发明的所述表盘描绘模块中,填充纹理中每个点到圆心点的相对坐标的计算公式为:
17.x=layoutwidth*vtexcoord.x lefttopp.x

centerp.x
18.y=(layoutheight*(1.0

vtexcoord.y) lefttopp.y

centerp.y)
19.其中,vtexcoord.x为纹理采样x坐标,vtexcoord.y为纹理采样y坐标。
20.进一步地,本发明的所述表盘描绘模块中,计算方法还包括:
21.左半部表盘的当前旋转角度currentradians=atan(y/x) startradians
22.右半部表盘的当前旋转角度currentradians=atan(y/x) startradians 180
°
23.其中,startradians为起始旋转角度,atan(y/x)表示通过反正切函数计算得到纹理中的每个点到圆心点的角度值;
24.表盘的指示值百分比percent=gaugevalue/gaugemaxvalue
25.表盘指示角度上限edge=maxradians*percent。
26.本发明提供一种填充式液晶仪表盘的实现方法,该方法包括以下步骤:
27.步骤1、获取液晶仪表盘的表盘背景图和填充进度条的n张切图图片,通过调用纹理绘制接口函数,生成对应的纹理资源,并输出生成的纹理资源;
28.步骤2、接收输出的纹理资源,接收车辆底层传递来的表盘指示值参数信号和表盘是否显示参数信号,接收手工配置输入的可配置参数信号,并输出这些参数信号;
29.步骤3、在表盘是否显示参数信号为需要描绘时,根据可配置参数信号,将表盘背
景图的纹理资源设置为背景纹理,将切图图片的纹理资源分别设置为对应的填充纹理,并根据表盘指示值参数信号在填充纹理上显示表盘指示值的百分比和表盘指针的显示角度。
30.进一步地,本发明的所述步骤1中调用的纹理绘制接口函数为texture::create()接口,将表盘背景图、填充进度条1、填充进度条2
……
填充进度条n所对应的切图资源image0、image1、image2
……
imagen生成对应的纹理资源texture0、texture1、texture2
……
texturen,并将输出这些纹理。
31.进一步地,本发明的所述步骤2中表盘指示值参数信号为gaugevalue,表盘是否显示参数信号为gaugeenable;可配置参数信号包括:切图零点的x坐标,lefttopp.x;切图零点的y坐标,lefttopp.y;切图的长度,即x方向的长度,layoutwidth;切图的宽度,即y方向的长度,layoutheight;旋转圆心的x坐标,centerp.x;旋转圆心的y坐标,centerp.y;最大旋转角度,maxradians;起始旋转角度,startradians;待描绘纹理的编号,texturenum;表盘最大指示值,gaugemaxvalue。
32.进一步地,本发明的所述步骤3包括以下步骤:
33.步骤3.1、当gaugeenable信号让表盘开始描绘时,将表盘背景图对应的纹理资源texture0设置为背景纹理,进入步骤3.2;否则就重复步骤3.1;
34.步骤3.2、根据参数texturenum选择对应的填充纹理,进入步骤3.3;
35.步骤3.3、计算出填充纹理中每个点到圆心点的相对坐标(x,y),其中x=layoutwidth*vtexcoord.x lefttopp.x

centerp.x,y=(layoutheight*(1.0

vtexcoord.y) lefttopp.y

centerp.y),进入步骤3.4;
36.步骤3.4、判断x是否小于0;若是,则进入步骤3.5,否则进入步骤3.6;
37.步骤3.5、计算出左半部表盘的当前的旋转角度currentradians=atan(y/x) startradians,进入步骤3.7;
38.步骤3.6、计算出右半部表盘的当前旋转角度currentradians=atan(y/x) startradians 180
°
,进入步骤3.7;
39.步骤3.7、根据表盘当前指示值gaugevalue和最大指示值gaugemaxvalue,计算出表盘的指示值百分比percent=gaugevalue/gaugemaxvalue,进入步骤3.8;
40.步骤3.8、计算出表盘指示角度上限edge=maxradians*percent,并进入步骤3.9;
41.步骤3.9、判断currentradians是否大于edge;若是,则将此部分纹理丢弃,否则就显示当前部分的纹理;
42.步骤3.10、当gaugeenable信号让表盘描绘时,则重复步骤3.2~步骤3.9;否则就停止描绘,将所有的纹理设置成无纹理状态,并进入步骤3.1。
43.本发明产生的有益效果是:本发明的填充式液晶仪表盘的实现系统及方法,开发者只需要根据实际情况配置相应的接口参数,即可实现仪表盘hmi的快速开发;本发明通过模块化设计,通过配置参数来实现填充式液晶仪表盘hmi的快速开发;提高填充式液晶仪表盘hmi功能的开发效率,节约开发成本和开发时间;提高填充式液晶仪表盘hmi的开发代码的复用率,使得输出的结果更为稳定可靠。
附图说明
44.下面将结合附图及实施例对本发明作进一步说明,附图中:
45.图1是本发明实施例的填充式液晶仪表盘的效果示意图;
46.图2是本发明实施例的填充式液晶仪表盘的表盘背景示意图;
47.图3是本发明实施例的填充式液晶仪表盘的填充纹理示意图;
48.图4是本发明实施例的填充式液晶仪表盘模块装置示意图;
49.图5是本发明实施例的表盘描绘模块的实现方法流程图。
50.图中:1

图片处理模块,2

参数配置模块,3

表盘描绘模块。
具体实施方式
51.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
52.本发明实施例中涉及的缩略语和关键术语定义如下:
53.lefttopp.x——切图零点的x坐标;
54.lefttopp.y——切图零点的y坐标;
55.layoutwidth——切图的长度(即x方向的长度);
56.layoutheight——切图的宽度(即y方向的长度);
57.centerp.x——旋转圆心的x坐标;
58.centerp.y——旋转圆心的y坐标;
59.maxradians——最大旋转角度;
60.startradians——起始旋转角度;
61.texturenum——待描绘纹理的编号;
62.vtexcoord.x——纹理采样x坐标;
63.vtexcoord.y——纹理采样y坐标;
64.gaugeenable——表盘是否显示;
65.gaugevalue——表盘当前指示值;
66.gaugemaxvalue——表盘最大指示值;
67.edge——表盘指示角度上限。
68.如图1

4所示,本发明实施例的填充式液晶仪表盘的实现系统,该系统包括:图片处理模块、参数配置模块、表盘描绘模块;其中:
69.图片处理模块,用于获取液晶仪表盘的表盘背景图和填充进度条的n张切图图片,通过调用纹理绘制接口函数,生成对应的纹理资源,并将生成的纹理资源输出给参数配置模块;
70.图片处理模块中调用的纹理绘制接口函数为texture::create()接口,将表盘背景图、填充进度条1、填充进度条2
……
填充进度条n所对应的切图资源image0、image1、image2
……
imagen生成对应的纹理资源texture0、texture1、texture2
……
texturen,并将这些纹理输出给参数配置模块。
71.参数配置模块,用于接收图片处理模块输出的纹理资源,接收车辆底层传递来的表盘指示值参数信号和表盘是否显示参数信号,接收手工配置输入的可配置参数信号,并将这些参数信号输出给表盘描绘模块;
72.参数配置模块中,表盘指示值参数信号为gaugevalue,表盘是否显示参数信号为gaugeenable;可配置参数信号包括:切图零点的x坐标,lefttopp.x;切图零点的y坐标,lefttopp.y;切图的长度,即x方向的长度,layoutwidth;切图的宽度,即y方向的长度,layoutheight;旋转圆心的x坐标,centerp.x;旋转圆心的y坐标,centerp.y;最大旋转角度,maxradians;起始旋转角度,startradians;待描绘纹理的编号,texturenum;表盘最大指示值,gaugemaxvalue。
73.表盘描绘模块,用于在表盘是否显示参数信号为需要描绘时,根据可配置参数信号,将表盘背景图的纹理资源设置为背景纹理,将切图图片的纹理资源分别设置为对应的填充纹理,并根据表盘指示值参数信号在填充纹理上显示表盘指示值的百分比和表盘指针的显示角度。
74.表盘描绘模块中的具体工作流程为:
75.实时监测gaugeenable信号,当gaugeenable信号让表盘开始描绘时,将表盘背景图对应的纹理资源texture0设置为背景纹理;根据参数texturenum选择对应的填充纹理;计算出填充纹理中每个点到圆心点的相对坐标(x,y);判断x是否小于0;若是,计算出左半部表盘的当前旋转角度currentradians;若否,计算出右半部表盘的当前旋转角度currentradians;根据表盘当前指示值gaugevalue和最大指示值gaugemaxvalue,计算出表盘的指示值百分比percent;计算出表盘指示角度上限edge;判断currentradians是否大于edge;若是,则将此部分纹理丢弃,否则就显示当前部分的纹理;当gaugeenable信号让表盘描绘时,则重复执行以上流程;否则就停止描绘,将所有的纹理设置成无纹理状态。
76.表盘描绘模块中,填充纹理中每个点到圆心点的相对坐标的计算公式为:
77.x=layoutwidth*vtexcoord.x lefttopp.x

centerp.x
78.y=(layoutheight*(1.0

vtexcoord.y) lefttopp.y

centerp.y)
79.其中,vtexcoord.x为纹理采样x坐标,vtexcoord.y为纹理采样y坐标。
80.左半部表盘的当前旋转角度currentradians=atan(y/x) startradians
81.右半部表盘的当前旋转角度currentradians=atan(y/x) startradians 180
°
82.其中,startradians为起始旋转角度,atan(y/x)表示通过反正切函数计算得到纹理中的每个点到圆心点的角度值;
83.表盘的指示值百分比percent=gaugevalue/gaugemaxvalue
84.表盘指示角度上限edge=maxradians*percent。
85.如图5所示,本发明实施例的填充式液晶仪表盘的实现方法,该方法包括以下步骤:
86.步骤1、获取液晶仪表盘的表盘背景图和填充进度条的n张切图图片,通过调用纹理绘制接口函数,生成对应的纹理资源,并输出生成的纹理资源;
87.步骤1中调用的纹理绘制接口函数为texture::create()接口,将表盘背景图、填充进度条1、填充进度条2
……
填充进度条n所对应的切图资源image0、image1、image2
……
imagen生成对应的纹理资源texture0、texture1、texture2
……
texturen,并将输出这些纹理。
88.步骤2、接收输出的纹理资源,接收车辆底层传递来的表盘指示值参数信号和表盘是否显示参数信号,接收手工配置输入的可配置参数信号,并输出这些参数信号;
89.步骤2中表盘指示值参数信号为gaugevalue,表盘是否显示参数信号为gaugeenable;可配置参数信号包括:切图零点的x坐标,lefttopp.x;切图零点的y坐标,lefttopp.y;切图的长度,即x方向的长度,layoutwidth;切图的宽度,即y方向的长度,layoutheight;旋转圆心的x坐标,centerp.x;旋转圆心的y坐标,centerp.y;最大旋转角度,maxradians;起始旋转角度,startradians;待描绘纹理的编号,texturenum;表盘最大指示值,gaugemaxvalue。
90.步骤3、在表盘是否显示参数信号为需要描绘时,根据可配置参数信号,将表盘背景图的纹理资源设置为背景纹理,将切图图片的纹理资源分别设置为对应的填充纹理,并根据表盘指示值参数信号在填充纹理上显示表盘指示值的百分比和表盘指针的显示角度。
91.步骤3包括以下步骤:
92.步骤3.1、当gaugeenable信号让表盘开始描绘时,将表盘背景图对应的纹理资源texture0设置为背景纹理,进入步骤3.2;否则就重复步骤3.1;
93.步骤3.2、根据参数texturenum选择对应的填充纹理,进入步骤3.3;
94.步骤3.3、计算出填充纹理中每个点到圆心点的相对坐标(x,y),其中x=layoutwidth*vtexcoord.x lefttopp.x

centerp.x,y=(layoutheight*(1.0

vtexcoord.y) lefttopp.y

centerp.y),进入步骤3.4;
95.步骤3.4、判断x是否小于0;若是,则进入步骤3.5,否则进入步骤3.6;
96.步骤3.5、计算出左半部表盘的当前的旋转角度currentradians=atan(y/x) startradians,进入步骤3.7;
97.步骤3.6、计算出右半部表盘的当前旋转角度currentradians=atan(y/x) startradians 180
°
,进入步骤3.7;
98.步骤3.7、根据表盘当前指示值gaugevalue和最大指示值gaugemaxvalue,计算出表盘的指示值百分比percent=gaugevalue/gaugemaxvalue,进入步骤3.8;
99.步骤3.8、计算出表盘指示角度上限edge=maxradians*percent,并进入步骤3.9;
100.步骤3.9、判断currentradians是否大于edge;若是,则将此部分纹理丢弃,否则就显示当前部分的纹理;
101.步骤3.10、当gaugeenable信号让表盘描绘时,则重复步骤3.2~步骤3.9;否则就停止描绘,将所有的纹理设置成无纹理状态,并进入步骤3.1。
102.应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

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

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

相关文献