[发明专利]一种基于Canvas API的多端绘图方法有效
申请号: | 202010027928.4 | 申请日: | 2020-01-10 |
公开(公告)号: | CN111240675B | 公开(公告)日: | 2023-07-25 |
发明(设计)人: | 谢杨玲;张淼;杜瑞罡;蒋荣 | 申请(专利权)人: | 广发证券股份有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郭浩辉;麦小婵 |
地址: | 510663 广东省广州市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 canvas api 多端 绘图 方法 | ||
本发明公开了一种基于Canvas API的多端绘图方法,通过调用Canvas API定义的绘图方法进行绘图,同时生成若干个绘制逻辑,然后将若干个绘制逻辑转换成对应的绘制命令,并以所有的绘制命令构建命令集合,最后将命令集合传输至原生端,以供原生端根据命令集合,触发视图绘制并完成绘图,采用发明提供的实施例,能够提高绘图性能与易用性,降低了开发与维护的成本。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种基于Canvas API的多端绘图方法。
背景技术
React Native 框架是 Facebook公司开发并使用的基于JavaScript和 React 编写原生移动应用的开源框架。React Native所使用的基础UI组件和原生应用完全一致,实现了一套代码同时开发 iOS 与 Android 多端应用。
图表,是一种与各种图形相关的数据可视化的表达形式。在证券类APP里,各种理财类产品,股票行情 K 线,证券分析类产品的展示都需要用图表来展示。
Canvas API是一种 Web 开发技术,由W3C(World Wide Web Consortium,万维网联盟)定义了图形绘制的方法与实现规范。Canvas API 主要聚焦于2D图形,定义了各种图形绘制的方法。使用 Canvas API 绘图是编写命令式的代码与调用方式。
在 React Native 框架中,对于复杂图表的技术选型,主要有两个常见方案可以选择WebView 与原生端组件方案,WebView方案是使用 Web 图表库,在网页里绘制图表,然后在 React Native 中用 WebView 将网页展示出来。这种方法简单,将 Web 成熟的图表库如echarts、highCharts 等用 WebView 组件封装一下,就能直接使用。原生端(iOS与Android)方案是Android 与 IOS 端分别实现图表功能,让JS端直接调用展示。
然而,上述两种常见的方案却存在着以下技术问题:
(1)WebView 方案虽然使用成本低,但是因为要加载与解析网页,存在着首次加载速度慢,内存占用高等性能问题。
(2)原生端实现的方案,需要编写两端代码分别负责绘制逻辑,开发与维护成本高。
发明内容
本发明实施例的目的是提供一种基于Canvas API的多端绘图方法,能够提高绘图性能与易用性,降低了开发与维护的成本。
为实现上述目的,本发明实施例提供了一种基于Canvas API的多端绘图方法,包括以下步骤:
调用Canvas API定义的绘图方法进行绘图,同时生成若干个绘制逻辑;
将所述若干个绘制逻辑转换成对应的绘制命令,并以所有的绘制命令构建命令集合;
将所述命令集合传输至原生端,以供所述原生端根据所述命令集合,触发视图绘制并完成绘图。
进一步的,所述绘制命令包括绘制方法和绘制参数。
进一步的,所述原生端在接收到所述命令集合后,根据所述命令集合中的绘制方法和绘制参数,采用反射动态调用技术调用对应的Canvas API方法完成绘图。
进一步的,通过React Native bridge与原生端进行数据传输。
进一步的,所述原生端包括iOS端和Android端。
进一步的,所述iOS端通过Core Graphics图形绘制库触发视图绘制并完成绘图。
进一步的,所述Android 端通过graphics Canvas图形绘制包触发视图绘制并完成绘图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广发证券股份有限公司,未经广发证券股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010027928.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种用于人工智能的人机交互逻辑引擎的方法及系统
- 下一篇:防抖系统及方法