论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
前端开发
›
从零开始搭建web组态
从零开始搭建web组态
商道如狼道
金牌会员
|
2024-6-14 17:55:21
|
显示全部楼层
|
阅读模式
楼主
主题
670
|
帖子
670
|
积分
2010
一、技术选择
目前只有两种选择,canvas和svg
Canvas:
是一个基于像素的渲染引擎,使用JavaScript API在画布上绘制图像,它的优点包罗:
Canvas渲染速度快,适合处理大量图像和高度动态的图像。
可以直接操作像素,能够创建高质量、流畅的动画效果。
Canvas可用于实现复杂的游戏、3D效果等。
SVG:
是一种基于矢量的图形格式,可以使用XML和JavaScript API在浏览器中绘制图像,它的优点包罗:
SVG是基于矢量的图形格式,图像可以无穷放大而不失真。
可以为SVG图像添加事件处理器,实现交互效果。
可以通过CSS进行样式控制,使得SVG图像更加灵活。
SVG图像可以直接嵌入到HTML文档中,不必要别的下载。
但它也存在一些缺点:
SVG渲染速度较慢,适合处理少量图像和少量动态的图像。
SVG图像在处理复杂图形时可能会导致性能标题。
由于SVG是基于矢量的图形格式,它的复杂度比力高,可能会导致文件巨细较大。
根据个人喜欢选择,一般来说canvas的性能要不svg好的多,对于组态画面,实时性要求要高,我们选择canvas。对canvas的开发,都必要选择一款框架,底层开发太难了,选择框架肯定要选择文档全面,例子多的,konva.js是非常不错的。
ui框架自行选择,都行。
二、 konva.js简介
konva 是一个对 canvas API 做了封装增强的 JavaScript 库。
HTML 原生的 canva 提供的 API 比力底层,用法上像是使用一支画笔进行各种操作,画完就结束了。
canvas 本身不维护图形树,你也无法操作修改已被绘制的图形。
而 konva 能够像我们操作 DOM 树一样去绘制和维护元素,它会额外维护图形构成的树,并能在绘制后,对特定图形进行样式的修改。
你还可以在上面添加事件,比如鼠标滑入某图形时,图形变大一点。此外还支持方便的变形、动画、拖拽等高级能力。
konvas提供商了所有组态的基础功能,如,点,线,面,拖拽,变革,放大缩小,事件等等,只要你想到的,他都有,我们要做的就是一点一点的吧这些功能堆起来,形成一个完备的组态工具。技术上并不难,就是花点时间。
三、 组态功能
我们做一个最简单的功能,其他的功能自己逐步堆,下面是功能列表
组态图元: 变量组件(可根据后台推送的数据显示到画布上),属性(笔墨颜色)
后台通讯:websocket
画面保存:画面要能以字符串的情势保存到后台数据库,或者生成文件,查看画面的时间在字符串拿出来,在还原为画面
实时数据渲染:后台来数据后要及时呈现到画布上
四、 需求分析
我们做的组件是一个一个的,组件要方便存储,这样后续才气方便添加,一个组件里面包含该组件所有的属性。这是最重要的,否则后面扩展及其困难
konva可以将单个的组件,序列化为字符串。这样就方便了我们做一个一个组件。
成果展示
I官网网站:www.hcy-soft.com
|体验地址:http://www.byzt.net:60/sm/
五、乐成案例
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
商道如狼道
金牌会员
这个人很懒什么都没写!
楼主热帖
SQLI-LABS(Less-5)
【python】实现文章同步csdn社区自动化 ...
到底什么是小程序插件?
微信小程序云开发中的command简介 ...
SAP集成技术(十)混合集成平台 ...
一文详解如何在 ChengYing 中通过产品 ...
MySQL数据库安装
软件测试 黑盒测试之等价类划分测试 ...
【技术积累】Spring Boot中的基础知识 ...
选读SQL经典实例笔记08_区间查询 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表