UI部分
UI显示在哪儿?
创建UI目录
可以在工程下,任意目录创建 任意名称的目录
但目录下 必须包含 index.html 页面 作为插件的入口
然后将 目录 相对路径配置进您插件的 ui_path 字段即可. 配置方法详见Python部分.
js 方法
我们已经为您封装好了,很多JavaScript API
可以获取当前用户括选的范围,获取获取当前用户取色的坐标RGB颜色,删除设备文件,拷贝文件. 插入图形处理流程,等操作
js 回调
当插件被加载,或用户操作后回调您插件中 js的方法.
插件加载
当插件被加载的时候调用该函数,一般用来初始化操作, 该方法在 document.ready 后执行,因此您可以安心在此方法中操作DOM元素
- 函数
var gp;
var api;
var task = {
data: {}, //这里是要保存的相关数据
params:"" //这里是传递给Python的参数
}
function on_load(p_gp,gp_api) {
gp = p_gp;
api = gp_api;
//在这里初始化 DOM,等操作
}
- 参数
名称 | 类型 | 说明 |
---|---|---|
p_gp | dict | 插件对象,包含插件id,name,等属性 |
gp_api | dict | api对象,所有图形处理API都通过该属性访问,建议赋值为全局变量 |
重新修改数据
当插件加入流程处理以后,再次点击修改,回进入到对应插件.并携带data数据
- 函数
function on_reload(p_gp) {
// 这里的 p_gp 已经携带了 data数据. data数据 等于 api.stack.add 加入的 数据
}
- 参数
名称 | 类型 | 说明 |
---|---|---|
p_gp | dict | 插件对象,包含插件id,name, data 属性 |
当括选范围
当主图选中范围后,回触发该方法
- 函数
function on_rect(rect) {
}
- 参数
名称 | 类型 | 说明 |
---|---|---|
rect | list | rect是一个数组,包含了 [left,tip,right,bottom] 4个属性 是一个矩形范围 |
当按下取色按键
当按下1-9数字按键,取色后,回调改方法
- 函数
function on_color(key, color) {
}
- 参数
名称 | 类型 | 说明 |
---|---|---|
key | str | 按键值 |
color | str | rgb颜色值 |
当橡皮擦除后
当橡皮擦除图片后,回调该方法
- 函数
function on_wipe() {
}
js API
在回调函数 on_load() 中我们可以拿到 api
对象,所有的 api方法都通过该对象调用.
var gp;
var api;
var task = {
data: {}, //这里是要保存的相关数据
params:"" //这里是传递给Python的参数
}
function on_load(p_gp,gp_api) {
gp = p_gp;
api = gp_api;
//在这里初始化 DOM,等操作
}
文件处理
api.file.path
通过api 操控设备中的文件
工作空间
属性 | 类型 | 说明 |
---|---|---|
api.api.file.path.workspace | str | 工作空间 |
获取文件url地址
通过文件存储路径,获取url类型的地址
api.file.url(file_path)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
file_path | str | 是 | 文件存储地址 |
- 返回值 文件的URL类型字符串
读取文件
读取文件内容
api.file.read(file_path,listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
file_path | str | 是 | 文件存储地址 |
listener | function | 是 | 读取文件后的回调函数 |
拷贝文件
拷贝文件
api.file.read(source_file,target_file,listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
source_file | str | 是 | 源文件地址 |
target_file | str | 是 | 目标文件地址 |
listener | function | 是 | 拷贝结束后的回调函数 |
获取文件树
传入一个存储路径文件夹地址,获取该目录下的所有文件列表
api.file.dir(dir_path,listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
dir_path | str | 是 | 源文件夹地址 |
listener | function | 是 | 得到结果后的回调函数 |
重命名
传入一个文件的路径,重命名该文件
api.file.rname(file_path,rname,listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
file_path | str | 是 | 源文件地址 |
rname | str | 是 | 重命名的名称 |
listener | function | 是 | 得到结果后的回调函数 |
删除文件
删除该文件或文件夹
api.file.delete(file_path,listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
file_path | str | 是 | 源文件地址 |
listener | function | 是 | 得到结果后的回调函数 |
写文件
将 内容写入文件
api.file.write(file_path,content,listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
file_path | str | 是 | 源文件地址 |
content | str | 是 | 写入的内容 |
listener | function | 是 | 写入口的回调函数 |
图形处理栈
图形处理栈中,包含关于图形处理插件的管理
api.stack
当前处理任务信息
- 字段
字段名 | 类型 | 说明 |
---|---|---|
api.stack.info.name | str | 当前任务栈名称 |
api.stack.info.path | str | 当前任务栈存储路径 |
当前任务栈结果
图形处理任务,运行后产生的结果数据.
- 字段
字段名 | 类型 | 说明 |
---|---|---|
api.stack.result | str | 当前任务栈名称 |
加入任务栈
插入本插件到任务栈用
api.stack.add(data)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
data | str | 否 | 插件参数与数据,见下方示例 如果你需要给本插件传递python参数,需在数据对象中包含 parmas参数,该参数将原封不动的传递进python插件对象的init 初始化函数中 |
- 关于data 数据的约束
var task = {
data: {}, //这里推荐您保存插件的处理数据,当用户二次修改时,可恢复html页面数据
params:"" //这是传递给插件的init函数,初始化参数.
}
测试插件
临时将插件存放进任务栈中,进行测试.
api.stack.test(data,listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
data | str | 是 | 插件参数与数据,见下方示例 如果你需要给本插件传递python参数,需在数据对象中包含 parmas参数,该参数将原封不动的传递进python插件对象的init 初始化函数中 |
listener | function | 是 | 测试完毕后的回调函数,可打印查看数据结构 |
- 关于data 数据的约束
var task = {
data: {}, //这里推荐您保存插件的处理数据,当用户二次修改时,可恢复html页面数据
params:"" //这是传递给插件的init函数,初始化参数.
}
通过相对路径获取文件信息
传入一个GP工程的相对路径,返回当前文件的url地址,和真实文件存储路径.
api.stack.file(rel_path)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
rel_path | str | 是 | 相对路径 如 "res/img/a.png" |
- 返回值 一个 字典对象,包含两个属性 path:当前文件的存储路径, url:当前文件的url地址
标记
在主图中绘制标记
api.marks
增加点标记
在主图中绘制点标记
api.marks.point.add(id,xy_list)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
id | str | 是 | 标记id,一般传数字标记 |
xy_list | array | 是 | 点的坐标,数组必须包含两个元素,代表x,y 如:[10,34] |
清空点标记
清空主图中的所有点标记
api.marks.point.clear()
增加矩形标记
在主图中绘制点矩形标记
api.marks.rect.add(id,rect)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
id | str | 是 | 标记id,一般传数字标记 |
rect | list | 是 | 矩形的范围,数组必须包含4个元素,代表[left,top,right,bottom] 如:[10,20,50,60] |
清空矩形标记
清空主图中的所有矩形标记
api.marks.rect.clear()
图像
对主图进行操作
展示图片
让主图位 显示一张图
api.image.show(path)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
path | str | 是 | 图片的存储路径 |
设置括选范围
让主图括选一个范围
api.image.set_rect(rect)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
rect | list | 是 | 括选的范围数组,必须包含4个元素[left,top,right,bottom] 例如:[100,200,500,600] |
获取括选范围
获取主图当前括选的范围
api.image.get_rect()
- 返回值
一个数组,包含了4个元素,代表一个矩形范围
裁剪一个小图
从主图中截取一张小图
api.image.crop(listener,p_rect,target_path)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
listener | function | 是 | 截图的回调函数 |
p_rect | list | 是 | 截图的范围数组,必须包含4个元素,例如[100,200,300,300] |
target_path | str | 是 | 截图后要保存的的文件存储路径 |
工程
获取设备的工程列表信息,其中包含了工程名称,存储路径地址等信息
获取工程列表
获取已创建的工程列表
api.module.get_all(listener)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
listener | function | 是 | 数据回调函数,可打印查看数据结构 |
系统
存入剪贴板
存入电脑剪贴板,方便用户拷贝
api.sys.copy(msg)
- 参数
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
msg | str | 是 | 存入的数据信息 |