【乐吾乐2D可视化组态编辑器】自定义图形库

news2024/12/23 9:24:36

乐吾乐2D可视化组态软件图形库是一种可扩展、开放性的图形库,可根据不同的需求定制各种酷炫的组件效果和场景。

常用的方式有:①原生代码图形库、②字体图形库、③svg 图形库、④图片、⑤组合图形,以下主要从性能和开发成本维度考量,用户可以结合实际场景综合选择。

乐吾乐2D可视化组态编辑器demo:https://2d.le5le.com/  


一、原生代码图形库

1.使用

参考链接:
https://doc.le5le.com/document/119832713 

2.特点

  • 性能优异;
  • 可直接通过属性控制图元样式,方便mqtt、websocket通信;
  • 支持事件导致的图元内样式变化;
  • 难度大,开发成本高。

3.示例

  • 水位变化动态展示,也可以用圆柱形进度条替代。
  • 进度条和按钮,进度条实现了通过鼠标拖动改变当前进度条位置及对应的数值,按钮实现了鼠标经过的样式调整。适用于表单的提交
  • 刻度尺,实现了调节量程、主从刻度线的数量、显示格式等,状态随着当前值的改变而改变。适用于监测水位、环境温度等。
  • 指示灯,实现了通过一个开关控制指示灯的闪烁,还可以修改指示灯的形状和切换为立体效果图片。适用于警报。
  • 开关闸门,实现了开启和闭合状态,适用于动态监控。
  • 图表-le5le charts

水位变化

进度条和按钮

刻度尺

指示灯

开关闸门

le5le charts


二、字体图形库

1.使用

参考链接:
https://doc.le5le.com/document/119832230 

2.特点

  • 性能较好,开发成本较低;
  • 可以修改图标颜色,但颜色统一;
  • 支持批量引入,例如国家电网图元规范和电气工程常用字母和符号。

3.示例

  • 国家电网图元和电气工程图元,可修改图标颜色及位置等。

国家电网图元


三、svg图形库

1.使用

参考链接:
https://doc.le5le.com/document/119826576 

2.特点

  • 矢量不失真,颜色、背景等随意切换;
  • 性能接近js,制作快,成本低,能够快速实现需求;
  • svg语法规则较多,css动画和一些复杂逻辑还需要持续完善,欢迎大家参与开源贡献:
  • https://github.com/le5le-com/meta2d.js/tree/main/packages/svg

3.示例

  • 打开文件,选择一个 svg,点击画布即可放置。系统组件中的 SVG 国家电网 ,SVG 电气工程 文件夹。

svg国家电网


四、图片

1.使用

将图片上传到服务器,将节点的image属性设置为图片的资源路径。

2.特点

  • 开发成本较低;
  • 更加生动形象,支持含有纹理、质感等更复杂化的图案;
  • 支持动态图片;
  • 图元内样式固定,不支持事件导致图元内的样式变化,替代方案为:事件导致图片切换;
  • 性能较低。

3.示例

  • 官网中以iot开头的组件库和2.5D科技风图形库均为为图片类型组件,有静态和动态2种类型切换,如图展示了示例图中发动机这样的单个复杂图形,推荐使用图片,更生动展示图案的质感纹理等。

图片格式-静态/动态图片

图片格式-柴油发动机


五、组合图形

1.使用

在官网编辑器中可选择多个图形右键菜单选择组合/组合为状态。

2.特点

  • 图元可拼接组合为任意想要的方式;
  • 可以对组合节点中的任意子节点进行节点的处理操作;
  • 有利于节点复用;
  • 组合为状态可以切换组件的状态模式:例如开和关,风机的转动与停止等。

3.示例

  • 如图所示,第一行为通过纯代码绘制的图元,下方为原生代码节点和图片节点组合后的组合图元,这种方式适用于图元含有复杂的结构,但是我们所需要的控制的只是结构中的一小部分。而其他部分是从不变化的。可保存在“我的组件”中。

组合图形

  • 如图所示,将特殊图元里面的水位图(js)与加药箱(png)组合成为一个新的图元,可以看到加药箱水位随着数据动态变化

  • 右键组合为状态,例如开和关,风机的转动与停止,报警灯等多状态切换。

组合为状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1878037.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

内网渗透:端口转发(SSH隧道)

SSH:两台设备之间进行远程登录的协议(SSH本身就是一个隧道协议) 远程文件传输scp命令(scp是基于SSH的) 拓扑: SSH隧道搭建的条件 1.获取到跳板机权限 2.跳板机中SSH服务启动 SSH端口转发分类&#xff1…

锁机制 -- 概述篇

锁机制 1、概述 ​  加锁是为了解决并发场景下,多个线程对同一资源同时进行操作,而导致同一线程多次操作出现结果不唯一的情况(一次操作包含多条指令)。结果不唯一发生的原因在于指令的错乱,前提条件是多线程环境及…

模版总结小全

BFS 最短步数问题 #include<iostream> #include<queue> #include<cstring> using namespace std;const int N 50; char g[N][N],d[N][N]; int dx[] {-1,0,1,0}; int dy[] {0,1,0,-1}; int n,m;int bfs(int x,int y){queue<pair<int,int> > q…

ardupilot开发 --- 坐标变换 篇

Good Morning, and in case I dont see you, good afternoon, good evening, and good night! 0. 一些概念1. 坐标系的旋转1.1 轴角法1.2 四元素1.3 基于欧拉角的旋转矩阵1.3.1 单轴旋转矩阵1.3.2 多轴旋转矩阵1.3.3 其他 2. 齐次变换矩阵3. visp实践 0. 一些概念 相关概念&am…

“论模型驱动架构设计方法及其应用”,软考高级论文,系统架构设计师论文

论文真题 模型驱动架构设计是一种用于应用系统开发的软件设计方法&#xff0c;以模型构造、模型转换和精化为核心&#xff0c;提供了一套软件设计的指导规范。在模型驱动架构环境下&#xff0c;通过创建出机器可读和高度抽象的模型实现对不同问题域的描述&#xff0c;这些模型…

自定义指令directive

一、在src目录下创建一个directive文件夹 test.ts文件存放创建的自定义指令&#xff0c;index.ts用于接收所有指令进行统一处理 二、编写自定义指令 // test.ts文件 export default {// 写个自定义指令mounted(el: any, binding: any) {console.log(el, binding, "&qu…

CC1利用链分析

分析版本 Commons Collections 3.1 JDK 8u65 环境配置参考JAVA安全初探(三):CC1链全分析 分析过程 我的Github主页Java反序列化学习同步更新&#xff0c;有简单的利用链图 首先看下CC1利用链的RCE利用点&#xff0c;在接口Transformer 接下来查看此接口的实现类&#xf…

将json对象转为xml进行操作属性

将json对象转为xml进行操作属性 文章目录 将json对象转为xml进行操作属性前端发送json数据格式写入数据库格式-content字段存储&#xff08;varchar(2000)&#xff09;Question实体类-接口映射对象QuestionContent 接收参数对象DAO持久层Mapper层Service层Controller控制层接收…

谈一下MySQL的两阶段提交机制

文章目录 为什么需要两阶段提交&#xff1f;两阶段提交流程&#xff1f;两阶段提交缺点&#xff1f; 为什么需要两阶段提交&#xff1f; 为了保证事务的持久性和一致性&#xff0c;MySQL需要确保redo log和binlog的同步持久化。MySQL通过“两阶段提交”的机制来实现在事务提交…

MyBatis第一节

目录 1. 简介2. 配置3. doing3.1 创建一个表3.2 打开IDEA&#xff0c;创建一个maven项目3.3 导入依赖的jar包3.4 创建entity3.5 编写mapper映射文件(编写SQL)3.6 编写主配置文件3.7 编写接口3.8 测试 参考链接 1. 简介 它是一款半自动的ORM持久层框架&#xff0c;具有较高的SQ…

【Kubernetes】搭建工具Kubeadm环境配置

架构&#xff1a;服务器采用Master-nodes&#xff08;3台&#xff09; Worker-nodes(2台) 一&#xff0c;服务准备工作 &#xff08;1&#xff09;在所有&#xff08;5台&#xff09;机器配置 主机名绑定&#xff0c;如下&#xff1a; cat /etc/hosts192.168.0.100 k8s-m…

【智能算法】决策树算法

目录 一、基本概念 二、工作原理 三、决策树算法优点和缺点 3.1 决策树算法优点 3.2 决策树算法缺点 四、常见的决策树算法及matlab代码实现 4.1 ID3 4.1.1 定义 4.1.2 matlab代码实现 4.2 C4.5 4.2.1 定义 4.2.2 matlab代码实现 4.3 CART 4.3.1 定义 4.3.2 mat…

leetcode-20-回溯-切割、子集

一、[131]分割回文串 给定一个字符串 s&#xff0c;将 s 分割成一些子串&#xff0c;使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] 分析&…

springboot是否可以代替spring

Spring Boot不能直接代替Spring&#xff0c;但它是Spring框架的一个扩展和增强&#xff0c;提供了更加便捷和高效的开发体验。以下是关于Spring Boot和Spring关系的详细解释&#xff1a; Spring框架&#xff1a; Spring是一个广泛应用的开源Java框架&#xff0c;提供了一系列模…

Nosql期末复习

mongodb基本常用命令&#xff08;只要掌握所有实验内容就没问题&#xff09; 上机必考&#xff0c;笔试试卷可能考&#xff1a; 1.1 数据库的操作 1.1.1 选择和创建数据库 &#xff08;1&#xff09;use dbname 如果数据库不存在则自动创建&#xff0c;例如&#xff0c;以下…

ElementUI的基本搭建

目录 1&#xff0c;首先在控制终端中输入下面代码&#xff1a;npm i element-ui -S 安装element UI 2&#xff0c;构架登录页面&#xff0c;login.vue​编辑 3&#xff0c;在官网获取对应所需的代码直接复制粘贴到对应位置 4&#xff0c;在继续完善&#xff0c;从官网添加…

【工具分享】Nuclei

文章目录 NucleiLinux安装方式Kali安装Windows安装 Nuclei Nuclei 是一款注重于可配置性、可扩展性和易用性的基于模板的快速漏洞验证工具。它使用 Go 语言开发&#xff0c;具有强大的可配置性、可扩展性&#xff0c;并且易于使用。Nuclei 的核心是利用模板&#xff08;表示为简…

oracle 11g rac安装grid 执行root脚本add vip -n 。。。on node= ... failedFailed 错误处理

问题&#xff1a; CRS-4402: The CSS daemon was started in exclusive mode but found an active CSS daemon on node racdg1-1, number 1, and is terminating An active cluster was found during exclusive startup, restarting to join the cluster PRCN-2050 : The requ…

[OtterCTF 2018]Name Game

Name Game 题目描述&#xff1a;我们知道这个帐号登录到了一个名为Lunar-3的频道。账户名是什么&#xff1f;猜想&#xff1a;既然登陆了游戏&#xff0c;我们尝试直接搜索镜像中的字符串 Lunar-3 。 直接搜索 Lunar-3 先把字符串 重定向到 txt文件里面去然后里面查找 Lunar-3…

阐述Python:except的用法和作用?

&#x1f49d;&#x1f49d;&#x1f49d;欢迎莅临我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…