[发明专利]一种应用中的图表生成方法、装置和存储介质在审
申请号: | 202011385383.0 | 申请日: | 2020-12-01 |
公开(公告)号: | CN112581559A | 公开(公告)日: | 2021-03-30 |
发明(设计)人: | 张冠南 | 申请(专利权)人: | 贝壳技术有限公司 |
主分类号: | G06T11/20 | 分类号: | G06T11/20 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 王双;王琦 |
地址: | 300280 天津市经济技术开发区南*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 中的 图表 生成 方法 装置 存储 介质 | ||
本申请公开了一种应用中的图表生成方法,包括:通过画笔在画布上进行图表绘制,并将每个绘制操作的结果保存在预先对应所述画布建立的bitmap中;待画笔在画布上的所有绘制操作完成后,将保存整个图表的bitmap提交给GPU进行渲染操作。应用本申请,能够高效快速地实现图表的绘制和生成,减少对GPU的消耗。
技术领域
本申请涉及图表处理技术,特别涉及一种应用中的图表生成方法、一种应用中的图表生成装置、一种计算机可读存储介质以及一种电子设备。
背景技术
在一些应用APP(例如金融类的APP)当中,经常能看到很多的图表,比如:股票软件的行情图(蜡烛线)、数据分析的饼图等。实现这些漂亮的图表会用到App的图表绘制技术——Canvas。
目前大多数的图表都是直接在一张画布上进行绘制,通过实现View的onDraw方法,通过画笔在画布上面进行点、线、图形等的绘制;同时,画笔在画布上每完成一个绘制操作,就将该绘制操作结果提交给GPU进行渲染,最后显示渲染后的图表。
上述图表生成方法对于简单的图表允许速度和体验还好,但是碰到频繁更新的复杂图表,这种方式频繁调用GPU进行渲染操作,会带来页面卡顿、耗电等缺点,体验非常的不好。试想在频繁交易的股票App中,如果行情图的更新出现卡顿、延迟等问题,由此带来的损失是非常可怕的。
发明内容
本申请提供一种应用中的图表生成方法和装置,能够高效快速地实现图表的绘制和生成,减少对GPU的消耗。
为实现上述目的,本申请采用如下技术方案:
一种应用中的图表生成方法,包括:
通过画笔在画布上进行图表绘制,并将每个绘制操作的结果保存在预先对应所述画布建立的bitmap中;
待画笔在画布上的所有绘制操作完成后,将保存整个图表的bitmap提交给GPU进行渲染操作。
较佳地,所述画笔在画布上进行图表绘制包括:将待绘制的图表内容拆分为多层分别进行绘制,每一层的图表内容单独绘制在一个画布上,每层的画布分别对应一个bitmap文件,用于保存相应层图表内容的绘制结果;
所述保存整个图表的bitmap为各层画布对应的所有bitmap文件合并成的一个bitmap文件;
其中,将图表更新时保持不变的图表内容与图表更新时发生变化的图表内容分为不同层。
较佳地,所述图表更新时保持不变的图表内容包括:图表的坐标系、图表的背景;和/或,
所述图表更新时发生变化的图表内容包括:图表中的主图元素;和/或,
将图表中手势处理的内容划分为一个单独的层。
较佳地,当图表更新时,将图表内容发生变化的图层重新绘制,并保存在相应图层对应的bitmap中,用于生成最新的所述保存整个图表的bitmap;对于图表内容未发生变化的图层不再重新绘制,直接利用先前绘制的bitmap生成最新的所述保存整个图表的bitmap。
较佳地,对于图表更新时保持不变的图层,预先设置图层模板,并为用户提供接口,接收用户输入的图表参数,控制相应图层的内容绘制。
较佳地,所述图表参数包括坐标系方向、刻度位置、背景网格位置和/或背景网格数量。
一种应用中的图表生成装置,包括:图表绘制单元、存储单元和提交渲染单元;
所述图表绘制单元,用于接收画笔输入,在画布上进行图表绘制,并将每个绘制操作的结果保存在所述存储单元中预先对应所述画布建立的bitmap中;还用于待画笔在画布上的所有绘制操作完成后,通知所述提交渲染单元;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳技术有限公司,未经贝壳技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011385383.0/2.html,转载请声明来源钻瓜专利网。