选项,连接器和数据的类型
本文档整理选项类型、连接器类型与数据类型,与《连接规则》《节点执行规则》配套阅读。
数据类型
程序运行时传递的数据分为以下几类:
| 类型 | 英文 | 说明 |
|---|---|---|
| 流程控制 | Order | 执行流信号,用于驱动节点的执行顺序,不承载数据 |
| 整数 | Int64 | 64 位有符号整数 |
| 浮点数 | Float64 | 双精度浮点数 |
| 布尔 | Bool | 真(True)或假(False) |
| 字符串 | String | 文本 |
| 二维整数向量 | Vector2Int64 | 两个整数分量 (X, Y) |
| 二维浮点数向量 | Vector2Float64 | 两个浮点分量 (X, Y) |
| 四维整数向量 | Vector4Int64 | 四个整数分量 (X, Y, Z, W) |
| 四维浮点数向量 | Vector4Float64 | 四个浮点分量 (X, Y, Z, W) |
| JSON值 | JsonValue | 可表示任意 JSON 类型(含空值) |
| JSON对象 | JsonObject | 无序的键值对集合,键为字符串 |
| JSON数组 | JsonArray | 有序的 JSON值 集合 |
| 图像 | Image | 图像数据 |
| ONNX | ONNX | ONNX 模型 |
| 文本识别引擎 | OcrEngine | 文本识别引擎 |
| 视频流 | VideoStream | 视频流 |
连接器类型
连接器是节点端口上传递数据或信号的载体:输入连接器位于节点左侧,输出连接器位于节点右侧。
- 流程控制连接器(➡️):传递执行流信号。
- 数据连接器:与数据类型一一对应,包括字符串、布尔、整数、浮点数、二维整数向量、二维浮点数向量、四维整数向量、四维浮点数向量、JSON值、JSON对象、JSON数组、图像、ONNX、文本识别引擎、视频流。
- 特殊连接器:基础类型连接器可提供专用编辑方式,形成特殊连接器类型——基于整数:键盘按键选择器、鼠标按钮选择器、窗口句柄选择器、显示器句柄选择器、颜色拾取器、日期时间选择器;基于字符串:路径选择器、图像路径选择器。它们在数据层面仍是整数或字符串,连接时按基础数据类型参与匹配,仅在编辑方式上提供专用选择器。
选项类型
选项是程序的输入或输出参数,每个选项有用途(输入/输出)与类型。
- 数据选项(输入、输出均可):字符串、布尔、整数、浮点数、二维整数向量、二维浮点数向量、四维整数向量、四维浮点数向量、JSON对象、JSON数组、JSON值、图像、ONNX、文本识别引擎、视频流。
- 选择器选项(仅输入):键盘按键选择器、鼠标按钮选择器、窗口句柄选择器、显示器句柄选择器、颜色拾取器、日期时间选择器(基于整数);路径选择器、图像路径选择器(基于字符串)。
- 选项放入画布后生成对应类型的连接器:数据选项生成同名数据连接器;选择器选项生成整数或字符串连接器,并提供对应的专用选择方式。
类型对应关系及示例值
下表列出选项类型、连接器类型与数据类型的对应关系及英文名,以及可直接用于 elf program option set / elf program node connector set 值参数的示例值。
| 选项类型 | 连接器类型 | 数据类型 | 类型英文 | 示例值 |
|---|---|---|---|---|
| 流程控制 | 流程控制 | Order | ||
| 字符串 | 字符串 | 字符串 | String | hello |
| 布尔 | 布尔 | 布尔 | Bool | true |
| 整数 | 整数 | 整数 | Int64 | 42 |
| 浮点数 | 浮点数 | 浮点数 | Float64 | 3.14 |
| 二维整数向量 | 二维整数向量 | 二维整数向量 | Vector2Int64 | 100,200 |
| 二维浮点数向量 | 二维浮点数向量 | 二维浮点数向量 | Vector2Float64 | 1.5,2.5 |
| 四维整数向量 | 四维整数向量 | 四维整数向量 | Vector4Int64 | 1,2,3,4 |
| 四维浮点数向量 | 四维浮点数向量 | 四维浮点数向量 | Vector4Float64 | 1.5,2.5,3.5,4.5 |
| JSON对象 | JSON对象 | JSON对象 | JsonObject | 不支持命令行设置 |
| JSON数组 | JSON数组 | JSON数组 | JsonArray | 不支持命令行设置 |
| JSON值 | JSON值 | JSON值 | JsonValue | 不支持命令行设置 |
| 图像 | 图像 | 图像 | Image | 不支持命令行设置 |
| ONNX | ONNX | ONNX | ONNX | 不支持命令行设置 |
| 文本识别引擎 | 文本识别引擎 | 文本识别引擎 | OcrEngine | 不支持命令行设置 |
| 视频流 | 视频流 | 视频流 | VideoStream | 不支持命令行设置 |
| 键盘按键选择器 | 键盘按键选择器 | 整数 | KeyboardKeySelector | A(可选值见《键盘按键选择器可选值》) |
| 鼠标按钮选择器 | 鼠标按钮选择器 | 整数 | MouseButtonSelector | LeftButton(可选值见《鼠标按钮选择器可选值》) |
| 窗口句柄选择器 | 窗口句柄选择器 | 整数 | WindowHandleSelector | 1311234 |
| 显示器句柄选择器 | 显示器句柄选择器 | 整数 | MonitorHandleSelector | 1 |
| 路径选择器 | 路径选择器 | 字符串 | PathSelector | D:\test.txt(也可为 file:///D:/test.txt) |
| 图像路径选择器 | 图像路径选择器 | 字符串 | ImagePathSelector | D:\image.png(也可为 file:///D:/image.png) |
| 颜色拾取器 | 颜色拾取器 | 整数 | ColorPicker | #FF0000 |
| 日期时间选择器 | 日期时间选择器 | 整数 | DateTimePicker | 2026-08-03 12:00:00 |
值格式说明:
- 数值直接书写;向量用逗号分隔各分量;布尔写
true/false。 - 颜色使用十六进制格式(#RRGGBB);日期时间使用常见日期时间格式。
- 路径可为本地路径或绝对 URI;窗口/显示器句柄为整数;按键与鼠标按钮使用英文名称且区分大小写(可选值见对应文档)。
- JSON值、JSON对象、JSON数组与图像、ONNX、文本识别引擎、视频流类型的值不支持通过命令行设置,请在编辑器中配置。
- 选择器选项对应的连接器在数据层面仍是整数或字符串,仅在编辑方式上提供专用选择。
流程控制仅有连接器类型,没有对应的选项类型,其值也不支持通过命令行设置。