html5组态canvas,基于 HTML5 Canvas 的 Web SCADA 组态电机控制面板

前言

HT For Web 提供完整的基于 HTML5 图形界面组件库。您可以轻松构建现代化的,跨桌面和移动终端的企业应用,无需担忧跨平台兼容性,及触屏手势交互等棘手问题。也可用于快速创建和部署,高度可定制化,并具有强大交互功能的拓扑图形及表盘图表等应用。HT for Web 非常适用于实时监控系统的界面呈现,广泛应用于电信网络拓扑和设备管理,以及电力、燃气等工业自动化 ( HMI / SCADA ) 领域。HT for Web 还有提供了一套一套强大的基于 WebGL 技术的 3D 图形引擎,独特的 WebGL 层抽象,将 Model – View – Presenter ( MVP ) 的设计模型延伸应用到了 3D 图形领域。使用 HT for Web 您可更关注于业务逻辑功能,不必将精力投入复杂 3D 渲染和数学等非业务核心的技术细节。( http://www.hightopo.com )

作为刚入门的小白(大家可以叫我老郑),我尝试着一步一步的做这个面板,用这篇文章来记录自己的一些收获(毕竟我还是个菜鸟)以及代码的实现,希望能够帮到一些朋友。当然,如果有什么意见可以直接跟我说,大家一起交流才会进步!

效果图

ef1159dde866d643afe78dfb97403dfa.gif

代码实现

话不多说,上代码。整体是一个 2D 的面板,那么要引入我们必须需要用到的 HT 核心库:ht.js 。

首先,要创建数据容器和拓扑图形组件。DateModel 作为承载 Data 数据的模型,管理着Data数据的增删以及变化事件派发, HT 框架所有组件都是通过绑定 DataModel,以不同的形式呈现到用户界面;同时组件也会监听 DataModel 模型的变化事件, 实时同步更新界面数据信息,掌握了 DataModel 的操作就掌握了所有组件的模型驱动方式;拓扑图形组件 ht.graph.GraphView 是 HT 框架中 2D 功能最丰富的组件,其相关类库都在 ht.graph 包下。GraphView 具有基本图形的呈现和编辑、拓扑节点连线及自动布局功能。

var dataModel = newht.DataModel();var graphView = new ht.graph.GraphView(dataModel);

通过以下代码来进行一些基础操作上的设置:

// 禁止平移

graphView.setPannable(false);

// 将其重载为空函数,禁止滚动

graphView.handleScroll= f

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Vue 3 中使用 Canvas 开发组态软件可以通过以下步骤实现: 1. 在 Vue 3 项目中安装 `vue-canvas` 或者 `vue-konva`,这些是常用的 Vue 3 Canvas 库,你可以根据自己的需求选择其中一个库安装。 2. 创建一个 Vue 组件,用于承载 Canvas 元素,并在组件中引入 Canvas 库。你可以在该组件中定义 Canvas 的尺寸、样式以及其他属性。 3. 在组件的生命周期钩子函数中,初始化 Canvas 上下文,并在需要的时候进行绘制。你可以在 `mounted` 钩子函数中进行初始化,然后在 `updated` 钩子函数中进行绘制操作。 4. 在组件的模板中,使用 Canvas 元素来展示你的绘制内容。 5. 在组件中定义相应的方法和事件处理程序,以便与 Canvas 进行交互。你可以监听鼠标事件、键盘事件等,根据用户的操作来更新 Canvas 的状态和绘制内容。 6. 如果需要在 Canvas 中显示动画效果,你可以使用 Vue 3 的动画功能或者其他动画库来实现。通过更新 Canvas 的状态和重新绘制,可以创建流畅的动画效果。 7. 最后,根据你的组态软件需求,你可能需要添加其他的功能和样式来完善你的应用,例如图层管理、编辑工具等等。 总结起来,使用 Vue 3 开发组态软件的 Canvas 部分,你需要安装相应的库,创建组件并初始化 Canvas,编写绘制逻辑、事件处理程序以及动画效果等。希望这些步骤对你有所帮助!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值