首页 / 专利库 / 电脑图像 / 着色器 / 顶点着色器 / 一种基于仪表的渐变圆环显示方法、介质、仪表和装置

一种基于仪表的渐变圆环显示方法、介质、仪表和装置

阅读:779发布:2020-05-19

专利汇可以提供一种基于仪表的渐变圆环显示方法、介质、仪表和装置专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种基于仪表的渐变圆环显示方法、介质、仪表和装置,其方法包括:获取待处理圆环及待处理圆环的预设起始 像素 点,计算待处理像素点相对于预设起始像素点的偏转 角 度;根据偏转角度计算待处理像素点的目标透明度;将待处理像素点的透明度调整为目标透明度,以获得并显示目标渐变圆环;其介质上存储有 计算机程序 ,用于执行上述方法步骤;其仪表包括上述存储介质和处理器,处理器执行存储介质上的计算机程序时实现上述方法步骤。本发明通过一些针对性的 算法 ,在仪表中显示出渐变圆环,满足了用户对 液晶 仪表显示效果的需求,提高了用户的视觉体验。并且使用资源较少,大大减小了系统开支,能够保证整体 软件 的流畅运行。,下面是一种基于仪表的渐变圆环显示方法、介质、仪表和装置专利的具体信息内容。

1.一种基于仪表的渐变圆环显示方法,其特征在于,所述基于仪表的渐变圆环显示方法包括:
获取待处理圆环,所述待处理圆环内包括多个待处理像素点;
获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转度;
根据所述偏转角度计算所述待处理像素点的目标透明度;
将所述待处理像素点的透明度调整为所述目标透明度,以获得并显示目标渐变圆环。
2.根据权利要求1所述的基于仪表的渐变圆环显示方法,其特征在于,所述获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度的具体实现为:
获取所述待处理圆环的预设起始像素点;
计算所述预设起始像素点所在半径与平坐标轴的第一角度,并计算所述待处理像素点所在半径与所述水平坐标轴的第二角度;
将所述第二角度与所述第一角度的差值作为所述待处理像素点相对于所述预设起始像素点的偏转角度。
3.根据权利要求2所述的基于仪表的渐变圆环显示方法,其特征在于,所述计算所述预设起始像素点所在半径与水平坐标轴的第一角度,并计算所述待处理像素点所在半径与所述水平坐标轴的第二角度的具体实现为:
获取所述预设起始像素点的起始点坐标、所述待处理像素点的像素点坐标和所述待处理圆环的圆心坐标;
根据所述起始点坐标和所述圆心坐标计算所述预设起始像素点所在半径与水平坐标轴的第一角度;
根据所述像素点坐标和所述圆心坐标计算所述待处理像素点所在半径与所述水平坐标轴的第二角度。
4.根据权利要求3所述的基于仪表的渐变圆环显示方法,其特征在于,所述根据所述偏转角度计算所述待处理像素点的目标透明度的具体实现为:
获取预设终止像素点,并将所述预设起始像素点所在半径与所述预设终止像素点所在半径之间的待处理圆环作为显示区域;
判断所述待处理像素点是否处于所述显示区域内,并根据判断结果计算所述待处理像素点的目标透明度。
5.根据权利要求4所述的基于仪表的渐变圆环显示方法,其特征在于,所述判断所述待处理像素点是否处于所述显示区域内的具体实现为:
获取所述预设终止像素点的终止点坐标;
根据所述终止点坐标和所述圆心坐标计算所述预设终止像素点所在半径与所述水平坐标轴的第三角度;
根据所述第一角度、所述第二角度和所述第三角度判断所述待处理像素点是否处于所述显示区域内。
6.根据权利要求5所述的基于仪表的渐变圆环显示方法,其特征在于,所述根据判断结果计算所述待处理像素点的目标透明度的具体实现为:
若判断结果为所述待处理像素点不处于所述显示区域内,则将所述待处理像素点的目标透明度设为预设上限;
若所述判断结果为所述待处理像素点处于所述显示区域内,则将所述第三角度与所述第一角度的差值作为所述显示区域对应的显示角度,计算所述偏转角度与所述显示角度的商值,并将所述商值的百分数作为所述待处理像素点的目标透明度。
7.根据权利要求1所述的基于仪表的渐变圆环显示方法,其特征在于,所述获取待处理圆环之前,所述基于仪表的渐变圆环显示方法还包括:
在开放式图形库中创建顶点着色器和片元着色器;
所述获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度的具体实现为:
通过所述顶点着色器获取所述待处理圆环的预设起始像素点;
通过所述片元着色器计算所述待处理像素点相对于所述预设起始像素点的偏转角度。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行时,用于执行权利要求1-9任一项所述的方法。
9.一种仪表终端,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现如权利要求1至9中任一项所述方法的步骤。
10.一种基于仪表的渐变圆环显示装置,其特征在于,包括:
获取模,用于获取待处理圆环,所述待处理圆环内包括多个待处理像素点;
角度计算模块,用于获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度;
透明度计算模块,用于根据所述偏转角度计算所述待处理像素点的目标透明度;
显示模块,用于将所述待处理像素点的透明度调整为所述目标透明度,以获得并显示目标渐变圆环。

说明书全文

一种基于仪表的渐变圆环显示方法、介质、仪表和装置

技术领域

[0001] 本发明涉及车载仪表技术领域,尤其涉及一种基于仪表的渐变圆环显示方法、介质、仪表和装置。

背景技术

[0002] 目前汽车行业中的车载仪表,进入了全液晶的产品状态。汽车仪表作为汽车整个系统中非常重要的一部分,是提高汽车综合表现的重要方向之一,汽车厂商和用户对其要求越来越高。全液晶仪表采用了一液晶显示屏(Liquid Crystal Display,LCD)代替了传统的步进电机指针仪表面板,具备了显示现象丰富,界面美观绚丽,显示灵敏度和精度高。新的液晶仪表的产品,对于图形界面的要求变得越来越高,用户提出了更多的图形效果的需求,比如渐变圆环效果的实现。
[0003] 目前在实现仪表的渐变圆环效果方面所采用的技术方案包括:
[0004] 1、不采用渐变的效果,直接使用纯色圆环;
[0005] 2、利用一般的图形软件开发工具包(Software Development Kit,SDK)提供的扇形颜色变换效果来实现;
[0006] 3、由用户界面(User Interface,UI)设计师提供带有渐变效果的资源图片,通过其他遮挡的图片配合其达到渐变效果的显示;
[0007] 然而,上述技术方案存在以下缺陷
[0008] 1、第一种技术方案:没有满足用户需求,降低了实现条件;
[0009] 2、第二种技术方案:消耗大量的中央处理器(Central Processing Unit,CPU)和图形处理器(Graphics Processing Unit,GPU)的系统资源,导致运行卡顿,影响其他仪表的显示效果;
[0010] 3、第三种技术方案:圆环随着数值变化的过程中,显得效果不够真实,直观感觉较差,并且需要配合其他图片资源来进行遮挡,增加了系统资源的消耗,会带来整体软件性能的降低。

发明内容

[0011] 本发明所要解决的技术问题是针对上述现有技术的不足,提供一种基于仪表的渐变圆环显示方法、介质、仪表和装置。
[0012] 本发明解决上述技术问题的技术方案如下:一种基于仪表的渐变圆环显示方法,包括:获取待处理圆环,所述待处理圆环内包括多个待处理像素点;
[0013] 获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转度;
[0014] 根据所述偏转角度计算所述待处理像素点的目标透明度;
[0015] 将所述待处理像素点的透明度调整为所述目标透明度,以获得并显示目标渐变圆环。
[0016] 本发明的实施例中上述方法的效果包括:利用Qt的SDK的开发环境,结合OpenGL的开放式图形库技术,通过一些针对性的算法,实现了液晶仪表的渐变圆环效果,使用资源较少,主要依靠软件算法来实现,大大减小了系统开支,能够保证整体软件的流畅运行。
[0017] 在上述技术方案的基础上,本发明还可以做如下改进:
[0018] 进一步地,上述获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度的具体实现为:
[0019] 获取所述待处理圆环的预设起始像素点;
[0020] 计算所述预设起始像素点所在半径与平坐标轴的第一角度,并计算所述待处理像素点所在半径与所述水平坐标轴的第二角度;
[0021] 将所述第二角度与所述第一角度的差值作为所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0022] 本发明的实施例中上述方法的效果包括:本实施例根据点的坐标和反正切函数公式计算出所述预设起始像素点所在半径与水平坐标轴的第一角度,以及所述待处理像素点所在半径与所述水平坐标轴的第二角度,从而快速地计算出所述待处理像素点相对于所述预设起始像素点的偏转角度,提高了渐变圆环的显示速率。
[0023] 进一步地,上述计算所述预设起始像素点所在半径与水平坐标轴的第一角度,并计算所述待处理像素点所在半径与所述水平坐标轴的第二角度的具体实现为:
[0024] 获取所述预设起始像素点的起始点坐标、所述待处理像素点的像素点坐标和所述待处理圆环的圆心坐标;
[0025] 根据所述起始点坐标和所述圆心坐标计算所述预设起始像素点所在半径与水平坐标轴的第一角度;
[0026] 根据所述像素点坐标和所述圆心坐标计算所述待处理像素点所在半径与所述水平坐标轴的第二角度。
[0027] 本发明的实施例中上述方法的效果包括:通过三角函数实时计算所述预设起始像素点所在半径与水平坐标轴的第一角度以及所述待处理像素点所在半径与所述水平坐标轴的第二角度,从而快速地计算出所述待处理像素点相对于所述预设起始像素点的偏转角度,提高了计算效率。
[0028] 进一步地,上述根据所述偏转角度计算所述待处理像素点的目标透明度的具体实现为:
[0029] 获取预设终止像素点,并将所述预设起始像素点所在半径与所述预设终止像素点所在半径之间的待处理圆环作为显示区域;
[0030] 判断所述待处理像素点是否处于所述显示区域内,并根据判断结果计算所述待处理像素点的目标透明度。
[0031] 本发明的实施例中上述方法的效果包括:通过将所述待处理圆环划分为显示区域和非显示区域,提高了非显示区域的像素点的处理效率。
[0032] 进一步地,上述判断所述待处理像素点是否处于所述显示区域内的具体实现为:
[0033] 获取所述预设终止像素点的终止点坐标;
[0034] 根据所述终止点坐标和所述圆心坐标计算所述预设终止像素点所在半径与所述水平坐标轴的第三角度;
[0035] 根据所述第一角度、所述第二角度和所述第三角度判断所述待处理像素点是否处于所述显示区域内。
[0036] 本发明的实施例中上述方法的效果包括:通过判断所述第二角度是否位于所述第一角度和所述第三角度内来确定所述待处理像素点是否处于显示区域,提高了判断速度和准确度。
[0037] 进一步地,上述根据判断结果计算所述待处理像素点的目标透明度的具体实现为:
[0038] 若判断结果为所述待处理像素点不处于所述显示区域内,则将所述待处理像素点的目标透明度设为预设上限;
[0039] 若所述判断结果为所述待处理像素点处于所述显示区域内,则将所述第三角度与所述第一角度的差值作为所述显示区域对应的显示角度,计算所述偏转角度与所述显示角度的商值,并将所述商值的百分数作为所述待处理像素点的目标透明度。
[0040] 本发明的实施例中上述方法的效果包括:将偏转角度与显示角度的商值作为待处理像素点的目标透明度,从而准确地衡量待处理像素点的偏转角度与目标透明度之间的相关性,提高了渐变圆环的渐变效果。
[0041] 进一步地,上述获取待处理圆环之前,所述基于仪表的渐变圆环显示方法还包括:
[0042] 在开放式图形库中创建顶点着色器和片元着色器;
[0043] 所述获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度的具体实现为:
[0044] 通过所述顶点着色器获取所述待处理圆环的预设起始像素点;
[0045] 通过所述片元着色器计算所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0046] 本发明的实施例中上述方法的效果包括:通过所述顶点着色器对输入的数据进行矩阵变换位置,计算坐标并将坐标等参数发送至所述片元着色器,以使所述片元着色器计算各待处理像素点的目标透明度,从而为各待处理像素点设置不同的透明度,以实现渐变圆环效果。
[0047] 本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时,用于执行上述的方法。
[0048] 本发明还提供了一种仪表终端,包括上述的存储介质和处理器,上述处理器执行上述存储介质上的计算机程序时实现上述方法的步骤。
[0049] 本发明还提供了一种基于仪表的渐变圆环显示装置,所述基于仪表的渐变圆环显示装置包括:
[0050] 获取模块,用于获取待处理圆环,所述待处理圆环内包括多个待处理像素点;
[0051] 角度计算模块,用于获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度;
[0052] 透明度计算模块,用于根据所述偏转角度计算所述待处理像素点的目标透明度;
[0053] 显示模块,用于将所述待处理像素点的透明度调整为所述目标透明度,以获得并显示目标渐变圆环。
[0054] 本发明的实施例中上述装置的效果包括:利用Qt的SDK的开发环境,结合OpenGL的开放式图形库技术,通过一些针对性的算法,实现了液晶仪表的渐变圆环效果,使用资源较少,主要依靠软件算法来实现,大大减小了系统开支,能够保证整体软件的流畅运行。
[0055] 在上述技术方案的基础上,本发明还可以做如下改进:
[0056] 进一步地,上述角度计算模块包括:
[0057] 获取子模块,用于获取所述待处理圆环的预设起始像素点;
[0058] 第一角度计算模块,用于计算所述预设起始像素点所在半径与水平坐标轴的第一角度,并计算所述待处理像素点所在半径与所述水平坐标轴的第二角度;
[0059] 第二角度计算模块,用于将所述第二角度与所述第一角度的差值作为所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0060] 本发明的实施例中上述装置的效果包括:本实施例根据点的坐标和反正切函数公式计算出所述预设起始像素点所在半径与水平坐标轴的第一角度,以及所述待处理像素点所在半径与所述水平坐标轴的第二角度,从而快速地计算出所述待处理像素点相对于所述预设起始像素点的偏转角度,提高了渐变圆环的显示速率。
[0061] 进一步地,上述第一角度计算模块包括:
[0062] 第一获取子模块,用于获取所述预设起始像素点的起始点坐标、所述待处理像素点的像素点坐标和所述待处理圆环的圆心坐标;
[0063] 第一角度计算子模块,用于根据所述起始点坐标和所述圆心坐标计算所述预设起始像素点所在半径与水平坐标轴的第一角度;
[0064] 第二角度计算子模块,用于根据所述像素点坐标和所述圆心坐标计算所述待处理像素点所在半径与所述水平坐标轴的第二角度。
[0065] 本发明的实施例中上述装置的效果包括:通过三角函数实时计算所述预设起始像素点所在半径与水平坐标轴的第一角度以及所述待处理像素点所在半径与所述水平坐标轴的第二角度,从而快速地计算出所述待处理像素点相对于所述预设起始像素点的偏转角度,提高了计算效率。
[0066] 进一步地,上述透明度计算模块包括:
[0067] 第二获取子模块,用于获取预设终止像素点,并将所述预设起始像素点所在半径与所述预设终止像素点所在半径之间的待处理圆环作为显示区域;
[0068] 判断模块,用于判断所述待处理像素点是否处于所述显示区域内,并根据判断结果计算所述待处理像素点的目标透明度。
[0069] 本发明的实施例中上述装置的效果包括:通过将所述待处理圆环划分为显示区域和非显示区域,提高了非显示区域的像素点的处理效率。
[0070] 进一步地,上述判断模块包括:
[0071] 第一判断子模块,用于获取所述预设终止像素点的终止点坐标;根据所述终止点坐标和所述圆心坐标计算所述预设终止像素点所在半径与所述水平坐标轴的第三角度;根据所述第一角度、所述第二角度和所述第三角度判断所述待处理像素点是否处于所述显示区域内。
[0072] 本发明的实施例中上述装置的效果包括:通过判断所述第二角度是否位于所述第一角度和所述第三角度内来确定所述待处理像素点是否处于显示区域,提高了判断速度和准确度。
[0073] 进一步地,上述判断模块包括:
[0074] 第二判断子模块,用于若判断结果为所述待处理像素点不处于所述显示区域内,则将所述待处理像素点的目标透明度设为预设上限;若所述判断结果为所述待处理像素点处于所述显示区域内,则将所述第三角度与所述第一角度的差值作为所述显示区域对应的显示角度,计算所述偏转角度与所述显示角度的商值,并将所述商值的百分数作为所述待处理像素点的目标透明度。
[0075] 本发明的实施例中上述装置的效果包括:将偏转角度与显示角度的商值作为待处理像素点的目标透明度,从而准确地衡量待处理像素点的偏转角度与目标透明度之间的相关性,提高了渐变圆环的渐变效果。
[0076] 进一步地,上述基于仪表的渐变圆环显示装置还包括:
[0077] 着色器创建模块,用于在开放式图形库中创建顶点着色器和片元着色器;
[0078] 上述角度计算模块,还用于通过所述顶点着色器获取所述待处理圆环的预设起始像素点;通过所述片元着色器计算所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0079] 本发明的实施例中上述装置的效果包括:通过所述顶点着色器对输入的数据进行矩阵变换位置,计算坐标并将坐标等参数发送至所述片元着色器,以使所述片元着色器计算各待处理像素点的目标透明度,从而为各待处理像素点设置不同的透明度,以实现渐变圆环效果。附图说明
[0080] 图1为本发明第一实施例的基于仪表的渐变圆环显示方法的流程示意图;
[0081] 图2为本发明第二实施例的基于仪表的渐变圆环显示方法的流程示意图;
[0082] 图3为本发明第二实施例的角度计算示意图;
[0083] 图4为本发明第三实施例的基于仪表的渐变圆环显示方法的流程示意图;
[0084] 图5为本发明一实施例的基于仪表的渐变圆环显示装置的模块框图

具体实施方式

[0085] 以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0086] 如图1所示,一种基于仪表的渐变圆环显示方法,应用于仪表终端,上述方法包括:
[0087] S10:获取待处理圆环,所述待处理圆环内包括多个待处理像素点。
[0088] 本实施例的应用场景为基于Qt的SDK开发环境,使用开放式图形库(Open Graphics Library,OpenGL)来实现渐变圆环效果。具体使用了Qt的C++应用环境,QML(Qt Meta Language或者Qt Modeling Language)作为C++语言的一种替代,来实现图形界面软件的快速开发,从而加快渲染出渐变圆环。
[0089] 所述待处理圆环为圆环图片,其中,圆环部分以外的部分均设置为全透明,将圆环部分的像素点作为待处理像素点,所述待处理像素点均为预设颜色。为了将预设颜色的圆环显示为渐变色的圆环,将在获取待处理圆环之前,在开放式图形库中创建顶点着色器和片元着色器,以通过所述顶点着色器对输入的数据进行矩阵变换位置,计算坐标并将坐标等参数发送至所述片元着色器,以使所述片元着色器计算各待处理像素点的目标透明度,从而为各待处理像素点设置不同的透明度,以实现渐变圆环效果。
[0090] 在具体实现中,将读取圆环素材文件,并将该圆环素材文件写入内存中,从该圆环素材文件中读取待处理圆环及所述待处理圆环的宽度和高度,根据所述待处理圆环的宽度和高度确定所述待处理圆环的圆心坐标,以便后续根据待处理像素点的坐标和圆心坐标确定待处理像素点在所述待处理圆环内所处的位置。
[0091] S20:获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0092] 一般情况下,用户并不要求一整个圆周的渐变圆环仪表,而只需要渐变扇环仪表,例如以水平坐标轴负半轴为起点、水平坐标轴正半轴为终点的180°渐变扇环,因此,本实施例根据用户需求设置预设起始像素点和预设终止像素点,以限定渐变效果的显示区域。
[0093] 在本实施例中,所述预设起始像素点和所述预设终止像素点为所述待处理圆环内圆上的像素点,将所述预设起始像素点所在半径与所述预设终止像素点所在半径之间的待处理圆环作为显示区域,将显示区域以外的待处理圆环作为非显示区域。将非显示区域内的待处理像素点设置为全透明,对显示区域内的待处理像素点设置递变的透明度,从而实现显示区域的渐变效果。
[0094] 为了实现显示区域的渐变效果,将依据所述待处理像素点在所述显示区域的位置计算待处理像素点的目标透明度,而为了获得所述待处理像素点在所述显示区域的位置,将通过所述顶点着色器获取所述待处理圆环的预设起始像素点,并通过所述片元着色器计算所述待处理像素点相对于所述预设起始像素点的偏转角度。所述偏转角度是以所述待处理圆环的圆心为旋转中心,所述待处理像素点与所述预设起始像素点之间的旋转角度,所述偏转角度能够代表所述待处理像素点在所述显示区域的位置分布。
[0095] S30:根据所述偏转角度计算所述待处理像素点的目标透明度。
[0096] 当用户需求为从左至右颜色逐渐变浅,则随着所述偏转角度的加大需要逐渐加大所述待处理像素点的透明度,即偏转角度与透明度呈正相关,根据预设的正相关公式和所述待处理像素点的偏转角度计算所述待处理像素点的目标透明度。当用户需求为从左至右颜色逐渐变深,则随着所述偏转角度的加大需要逐渐减小所述待处理像素点的透明度,即偏转角度与透明度呈负相关,根据预设的负相关公式和所述待处理像素点的偏转角度计算所述待处理像素点的目标透明度。
[0097] S40:将所述待处理像素点的透明度调整为所述目标透明度,以获得并显示目标渐变圆环。
[0098] 在计算获得各待处理像素点的目标透明度之后,将所述待处理像素点的透明度调整为对应的目标透明度,由于所述目标透明度与所述待处理像素点的偏转角度相关,因此随着偏转角度的加大,所述待处理像素点的透明度逐渐变化,从而获得目标渐变圆环,对所述目标渐变圆环进行显示,满足了用户对液晶仪表显示效果的需求,提高了用户的视觉体验。本实施例利用Qt的SDK的开发环境,结合OpenGL的开放式图形库技术,通过一些针对性的算法,实现了液晶仪表的渐变圆环效果,使用资源较少,主要依靠软件算法来实现,大大减小了系统开支,能够保证整体软件的流畅运行。并且本方案自主研发,降低了项目成本,省去了购买第三方解决方案的需要。
[0099] 如图2所示,在本发明提供的第二实施例中,所述S20的具体实现为:
[0100] S201:获取所述待处理圆环的预设起始像素点;
[0101] S202:计算所述预设起始像素点所在半径与水平坐标轴的第一角度,并计算所述待处理像素点所在半径与所述水平坐标轴的第二角度;
[0102] 以所述待处理圆环的圆心为坐标原点,以水平坐标轴负半轴为0度角,顺时针旋转获得所述预设起始像素点所在半径与水平坐标轴的第一角度以及所述待处理像素点所在半径与所述水平坐标轴的第二角度,可以理解的是,该第二角度减去该第一角度的差值为所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0103] 所述S202的具体实现为:
[0104] 获取所述预设起始像素点的起始点坐标、所述待处理像素点的像素点坐标和所述待处理圆环的圆心坐标;
[0105] 根据所述起始点坐标和所述圆心坐标计算所述预设起始像素点所在半径与水平坐标轴的第一角度;
[0106] 根据所述像素点坐标和所述圆心坐标计算所述待处理像素点所在半径与所述水平坐标轴的第二角度。
[0107] 如图3所示,从所述预设起始像素点向所述水平坐标轴作垂线,垂线、水平坐标轴、预设起始像素点和圆心的连线构成一个直角三角形,在该直角三角形中,根据所述起始点坐标(x,y)和所述圆心坐标(x0,y0)可计算出两直角边的长度,根据两直角边的长度和反正切函数公式可计算所述预设起始像素点所在半径与水平坐标轴的第一角度α。通过三角函数实时计算所述预设起始像素点所在半径与水平坐标轴的第一角度以及所述待处理像素点所在半径与所述水平坐标轴的第二角度,从而快速地计算出所述待处理像素点相对于所述预设起始像素点的偏转角度,提高了计算效率。
[0108] 同理,从所述待处理像素点向所述水平坐标轴作垂线,垂线、水平坐标轴、待处理像素点和圆心的连线构成一个直角三角形,在该直角三角形中,根据所述起始点坐标和所述圆心坐标可计算出两直角边的长度,根据两直角边的长度和反正切函数公式可计算所述待处理像素点所在半径与水平坐标轴的第二角度。
[0109] S203:将所述第二角度与所述第一角度的差值作为所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0110] 本实施例根据点的坐标和反正切函数公式计算出所述预设起始像素点所在半径与水平坐标轴的第一角度,以及所述待处理像素点所在半径与所述水平坐标轴的第二角度,从而快速地计算出所述待处理像素点相对于所述预设起始像素点的偏转角度,提高了渐变圆环的显示速率。
[0111] 如图4所示,在本发明提供的第三实施例中,所述S30的具体实现为:
[0112] S301:获取预设终止像素点,并将所述预设起始像素点所在半径与所述预设终止像素点所在半径之间的待处理圆环作为显示区域。
[0113] 一般情况下,用户并不要求一整个圆周的渐变圆环仪表,而只需要半个渐变圆环仪表,因此,本实施例根据用户需求设置预设起始像素点和预设终止像素点,将所述预设起始像素点所在半径与所述预设终止像素点所在半径之间的待处理圆环限定为渐变效果的显示区域,将所述显示区域以外的待处理圆环作为非显示区域。
[0114] S302:判断所述待处理像素点是否处于所述显示区域内,并根据判断结果计算所述待处理像素点的目标透明度。
[0115] 在具体实现中,将判断所述待处理像素点是否处于所述显示区域内,并根据判断结果计算所述待处理像素点的目标透明度。对于非显示区域内的待处理像素点,将其透明度设置为预设上限,对于显示区域内的待处理像素点设置递变的透明度,从而实现显示区域的渐变效果。通过将所述待处理圆环划分为显示区域和非显示区域,提高了非显示区域的像素点的处理效率。
[0116] 进一步地,所述判断所述待处理像素点是否处于所述显示区域内的具体实现为:
[0117] 获取所述预设终止像素点的终止点坐标;
[0118] 根据所述终止点坐标和所述圆心坐标计算所述预设终止像素点所在半径与所述水平坐标轴的第三角度;
[0119] 根据所述第一角度、所述第二角度和所述第三角度判断所述待处理像素点是否处于所述显示区域内。
[0120] 由于所述预设起始像素点所在半径和所述预设终止像素点所在半径限定了显示区域的范围,可认为,所述显示区域对应的显示角度范围为所述预设起始像素点所在半径与水平坐标轴之间的第一角度至所述预设终止像素点所在半径与水平坐标轴之间的第三角度。因此,本实施例将通过判断所述第二角度是否位于所述第一角度和所述第三角度内来确定所述待处理像素点是否处于显示区域,提高了判断速度和准确度。
[0121] 进一步地,所述根据判断结果计算所述待处理像素点的目标透明度的具体实现为:
[0122] 若判断结果为所述待处理像素点不处于所述显示区域内,则将所述待处理像素点的目标透明度设为预设上限;
[0123] 若所述判断结果为所述待处理像素点处于所述显示区域内,则将所述第三角度与所述第一角度的差值作为所述显示区域对应的显示角度,计算所述偏转角度与所述显示角度的商值,并将所述商值的百分数作为所述待处理像素点的目标透明度。
[0124] 所述预设上限为透明度的最大值,例如100%,当所述待处理像素点不处于所述显示区域内时,说明该待处理像素点位于非显示区域,无需对所述待处理像素点进行显示,故将所述待处理像素点的目标透明度设为预设上限,以使该待处理像素点对用户不可见。例如,将水平轴上方作为显示区域,将水平轴下方作为非显示区域获得的半圆环,相比于整个圆环具有更集中的视觉效果,能够达到较佳的用户体验。
[0125] 当所述待处理像素点位于所述显示区域内,从所述预设起始像素点至所述预设终止像素点,透明度在一定的范围内逐渐降低或者逐渐提高,例如在20%-90%的范围内逐渐提高,本实施例对透明度的变化范围不加以限制,较佳的,本实施例采用的透明度变化范围为0-100%,以达到更明显的视觉效果。本实施例将偏转角度与显示角度的商值作为待处理像素点的目标透明度,从而准确地衡量待处理像素点的偏转角度与目标透明度之间的相关性,提高了渐变圆环的渐变效果。
[0126] 本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,上述计算机程序被处理器执行时,用于执行上述的方法。
[0127] 本发明还提供了一种仪表终端,包括上述的存储介质和处理器,上述处理器执行上述存储介质上的计算机程序时实现上述方法的步骤。
[0128] 如图5所示,本发明还提供了一种基于仪表的渐变圆环显示装置,上述基于仪表的渐变圆环显示装置包括:
[0129] 获取模块,用于获取待处理圆环,所述待处理圆环内包括多个待处理像素点;
[0130] 角度计算模块,用于获取所述待处理圆环的预设起始像素点,并计算所述待处理像素点相对于所述预设起始像素点的偏转角度;
[0131] 透明度计算模块,用于根据所述偏转角度计算所述待处理像素点的目标透明度;
[0132] 显示模块,用于将所述待处理像素点的透明度调整为所述目标透明度,以获得并显示目标渐变圆环。
[0133] 利用Qt的SDK的开发环境,结合OpenGL的开放式图形库技术,通过一些针对性的算法,实现了液晶仪表的渐变圆环效果,使用资源较少,主要依靠软件算法来实现,大大减小了系统开支,能够保证整体软件的流畅运行。
[0134] 在本发明提供的一个或多个实施例中,上述角度计算模块包括:
[0135] 获取子模块,用于获取所述待处理圆环的预设起始像素点;
[0136] 第一角度计算模块,用于计算所述预设起始像素点所在半径与水平坐标轴的第一角度,并计算所述待处理像素点所在半径与所述水平坐标轴的第二角度;
[0137] 第二角度计算模块,用于将所述第二角度与所述第一角度的差值作为所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0138] 在本发明提供的一个或多个实施例中,上述第一角度计算模块包括:
[0139] 第一获取子模块,用于获取所述预设起始像素点的起始点坐标、所述待处理像素点的像素点坐标和所述待处理圆环的圆心坐标;
[0140] 第一角度计算子模块,用于根据所述起始点坐标和所述圆心坐标计算所述预设起始像素点所在半径与水平坐标轴的第一角度;
[0141] 第二角度计算子模块,用于根据所述像素点坐标和所述圆心坐标计算所述待处理像素点所在半径与所述水平坐标轴的第二角度。
[0142] 在本发明提供的一个或多个实施例中,上述透明度计算模块包括:
[0143] 第二获取子模块,用于获取预设终止像素点,并将所述预设起始像素点所在半径与所述预设终止像素点所在半径之间的待处理圆环作为显示区域;
[0144] 判断模块,用于判断所述待处理像素点是否处于所述显示区域内,并根据判断结果计算所述待处理像素点的目标透明度。
[0145] 在本发明提供的一个或多个实施例中,上述判断模块包括:
[0146] 第一判断子模块,用于获取所述预设终止像素点的终止点坐标;根据所述终止点坐标和所述圆心坐标计算所述预设终止像素点所在半径与所述水平坐标轴的第三角度;根据所述第一角度、所述第二角度和所述第三角度判断所述待处理像素点是否处于所述显示区域内。
[0147] 在本发明提供的一个或多个实施例中,上述判断模块包括:
[0148] 第二判断子模块,用于若判断结果为所述待处理像素点不处于所述显示区域内,则将所述待处理像素点的目标透明度设为预设上限;若所述判断结果为所述待处理像素点处于所述显示区域内,则将所述第三角度与所述第一角度的差值作为所述显示区域对应的显示角度,计算所述偏转角度与所述显示角度的商值,并将所述商值的百分数作为所述待处理像素点的目标透明度。
[0149] 在本发明提供的一个或多个实施例中,上述基于仪表的渐变圆环显示装置还包括:
[0150] 着色器创建模块,用于在开放式图形库中创建顶点着色器和片元着色器;
[0151] 上述角度计算模块,还用于通过所述顶点着色器获取所述待处理圆环的预设起始像素点;通过所述片元着色器计算所述待处理像素点相对于所述预设起始像素点的偏转角度。
[0152] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0153] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0154] 集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0155] 以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
[0156] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈