一种K线图的绘制方法、电子设备及存储介质与流程

文档序号:14748938发布日期:2018-06-22 09:40阅读:390来源:国知局

本发明涉及一种绘图方法,尤其涉及一种K线图的绘制方法、电子设备及存储介质。



背景技术:

目前,股市上使用K线图表示股票涨跌变化状况,K线图能充分显示股价趋势的强弱、买卖双方力量平衡的变化,预测后市走向较准确,是各类传播媒介、电脑实时分析系统应用较多的技术分析手段。那么怎么画好K线图,让它更及时的显示出它的信息,这也是个至关重要的问题。

在2009年申请的公开号为CN102110301A的发明中公开了一种绘制K线图的方法及一种字幕机,用于在电视上实时更新K线图,该字幕机还能绘制K线图。现在比较常用的是绘图软件有GDI与GDI+,GDI(Graphics Device Interface)是图形设备接口,主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。GDI编程方式很麻烦,GDI+是对GDI进行的优化。

但是,公开的发明中字幕机相对于现在绘图技术而言有很多不足,而GDI与GDI+绘制时也存在效率低下、准确度不够和不能实时刷新问题。

实用

技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供一种K线图的绘制方法、电子设备及储存介质,以解决现有的K线图的绘制效率低下、准确度不够以及不能实时刷新的问题。

为解决上述技术问题,本发明实施例采用的一技术方案如下:

一种K线图的绘制方法,具体步骤包括:

根据获得的K线数据计算K线顶点坐标;

对所述顶点坐标进行纹理映射,得到顶点数据;

将所述顶点数据进行光栅化处理;

将光栅化后的顶点数据写入缓冲区;

读取缓冲区的数据,根据缓冲区的数据绘制K线图。

进一步地,所述K线数据包括最高价、开盘价、最低价和收盘价,所述K线数据至少一组。

进一步地,在计算所述K线顶点坐标前还包括:确定电子设备屏幕的画布大小;

所述根据获得的K线数据计算K线顶点坐标,具体为:根据电子设备屏幕的画布大小与K线数据计算K线顶点坐标。

进一步地,所述根据所述K线数据与电子设备屏幕的画布大小计算K线顶点坐标,具体为:

把所述K线数据按时间戳在X轴上排序,则根据公式SY=(Y2-Y1)/H1计算Y轴的缩放系数SY,其中,H1为屏幕画布高,Y1为K线数据在Y轴的最低点,Y2为K线数据在Y轴的最高点。

K线宽为W,两条K线间隔为X,K线在数组中的顺序为I,则K线数据的顶点坐标具体计算为:

(x1,y1)=(X*I,(hight-Y1)*SY);

(x2,y2)=(X*I+W*0.5,(open-Y1)*SY);

(x3,y3)=(X*I+W*0.5,(close-Y1)*SY);

(x4,y4)=(X*I,(low-Y1)*SY)。

其中,(x1,y1)为K线数据最高价的顶点坐标,high为最高价;(x2,y2)为K线数据开盘价的顶点坐标,open为开盘价;(x3,y3)为K线数据收盘价的顶点坐标,close为收盘价;(x4,y4)为K线数据最低价的顶点坐标,low为最低价。

进一步地,所述得到顶点数据后,还包括:将所述顶点数据拷贝填充到画布上的顶点坐标中。

进一步地,所述将所述顶点数据进行光栅化处理,将光栅化后的顶点数据写入缓冲区,具体为:将所述顶点数据转换为片元,所述片元写入缓冲区中。

进一步地,所述方法还包括:将所述片元在缓冲区内转换成像素,所述片元中的元素与像素一一对应。

进一步地,所述根据缓冲区的数据绘制K线图,具体为:根据所述像素通过opengl绘制K线图。

为解决上述技术问题,本发明实施例采用的另一技术方案如下:

一种电子设备,包括:处理器;

存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行上述K线图的绘制方法。

为解决上述技术问题,本发明实施例采用的另一技术方案如下:

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述K线图的绘制方法。

相比现有技术,本发明的有益效果在于:

对K线数据进行计算,得到K线顶点坐标,使K线图绘制时更加精确;对K线坐标进行纹理映射与光栅化处理,增加了K线图的清晰度;而且还使用了带有双缓冲技术的opengl绘制K线图,能大大加快绘图的速度,实现实时更新。

附图说明

图1为本发明实施例K线图的绘制方法流程示意图;

图2为本发明实施例电子设备示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本实用发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

如图1所示一种K线图的绘制方法,具体步骤包括:

步骤S101:根据获得的K线数据计算K线顶点坐标。

具体的,获得的K线数据是目标理财产品的K线数据,K线数据包括最高价、开盘价、最低价和收盘价,K线数据至少一组。根据获得的K线数据计算K线顶点坐标,具体计算方法为:

确定电子设备屏幕的画布大小,根据画布大小与K线数据计算K线顶点坐标。

可选的,把K线数据按时间戳在X轴上排序,则根据公式SY=(Y2-Y1)/H1计算Y轴的缩放系数SY,其中,H1为屏幕画布高,Y1为K线数据在Y轴的最低点,Y2为K线数据在Y轴的最高点。

K线宽为W,两条K线间隔为X,K线在数组中的顺序为I,则K线数据的顶点坐标具体计算为:

(x1,y1)=(X*I,(hight-Y1)*SY);

(x2,y2)=(X*I+W*0.5,(open-Y1)*SY);

(x3,y3)=(X*I+W*0.5,(close-Y1)*SY);

(x4,y4)=(X*I,(low-Y1)*SY)。

其中,(x1,y1)为K线数据最高价的顶点坐标,high为最高价;(x2,y2)为K线数据开盘价的顶点坐标,open为开盘价;(x3,y3)为K线数据收盘价的顶点坐标,close为收盘价;(x4,y4)为K线数据最低价的顶点坐标,low为最低价。

本发明实施例对获得的K线数据进行计算,根据画布进行二维坐标计算,使K线数据在图像上能更精确的显示,用户可以从中获取更直观的信息。

步骤S102:对顶点坐标进行纹理映射,得到顶点数据。

具体的,本发明实施例还包括:将顶点数据拷贝填充到画布上的顶点坐标中,纹理映射的操作为:调用glBindTexture函数选择纹理对象(即K线),对K线进行定义;在绘制K线之前调用glBindTexture函数,为K线顶点坐标加载相应的顶点数据。纹理映射是真实感图像制作的一个重要部分,可以方便的制作出极具真实感的图形。

步骤S103:将顶点数据进行光栅化处理。

具体的,本发明实施例还包括:将顶点数据转换为片元,即将K线的顶点坐标转变为二维图像;片元包括二维图像上每个点的基本信息,例如位置、颜色、深度和纹理数据等,光栅化处理增加了K线图的清晰度与真实感。

步骤S104:将光栅化后的顶点数据写入缓冲区。

具体的,本发明实施例中将顶点数据进行光栅化处理,将光栅化后的顶点数据写入缓冲区,具体为:将片元写入缓冲区中,片元中的元素与像素一一对应,缓冲区是一组逻辑缓冲区,包括颜色缓冲区、深度缓冲区、模版缓冲区和累积缓冲区,在缓冲区中调用glReadPixel函数可读取像素。缓冲区是一个临时存储区,起到协调和缓冲作用,能够实现数据同步传送,将数据放入缓冲区中便于读取和调用。

步骤S105:读取缓冲区的数据,根据缓冲区的数据绘制K线图。

具体的,本发明实施例中根据缓冲区的数据绘制K线图,具体为:根据所像素通过opengl绘制K线图。调用opengl里的glutSwapBuffers函数交换屏幕和缓冲区的指针,把绘制好的K线图复制到屏幕上。本实施例中使用的带有双缓冲技术的绘图软件为opengl(Open Graphics Library),操作简单、运算效率和绘图效果高;还可使用DX与D3D等能达到相同效果的绘图软件。

本发明实施例还提供了一种电子设备200,包括:处理器201;存储器202;以及程序,其中程序被存储在存储器202中,并且被配置成由处理器201执行,该电子设备可以进行K线图的绘制。处理器201执行存储器202里的程序,并在电子设备200做出相应的操作;存储器202用于存储程序代码和数据,在断电时它所存放的信息也不丢失,可以长久保存,且复制和提取都很方便。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序用于执行K线图的绘制方法。计算机可读存储介质是存储数据的载体,例如ROM/RAM、磁碟和光盘等,具有信息存取速度快和工作稳定可靠等优点。

本发明提供的一种K线图的绘制方法、电子设备及存储介质,对K线数据进行计算,得到K线顶点坐标,使K线图绘制时更加精确;对K线坐标进行纹理映射与光栅化处理,增加了K线图的清晰度;而且还使用了带有双缓冲技术的opengl绘制K线图,能大大加快绘图的速度,实现实时更新。用户能随时获取最新信息,并且从中得到真实直观的信息。

上述实施方式仅为本实用发明的优选实施方式,不能以此来限定本实用发明保护的范围,本领域的技术人员在本实用发明的基础上所做的任何非实质性的变化及替换均属于本实用发明所要求保护的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1