Skip to main content

Python部分

1.创建插件

在AS中,创建一个新的图色插件很容易,只需要继承 GPTask 即可.

继承后需要补充 name属性 , ui_path属性 , run方法 的内容

#自定义插件案例
from ascript.android.screen.gp import GPStack,GPTask,Result
from ascript.android.system import R
import numpy as np
class MyPlug(GPTask):
name = "插件名称"
ui_path = "插件UI路径" # 这里使用的是相对路径,该UI路径下必须包含 index.html,这将作为插件的入口

def run(self,cv_image: np.ndarray,offset_x:int=0,offset_y:int=0,data=None) -> Result:
# 在这里要写你的插件逻辑
return Result(cv_image,offset_x,offset_y,data)

插件名称

  • name 字段

插件的名称,必须配置. 发布插件后,会显示在插件列表中.

插件UI路径

  • ui_path

制作插件UI是 图形处理插件中 比较繁琐的一部分内容. 其中涉及到 html,css,javascript 的知识. 同时我们也给你提供了相关js的API、

在这里,我们需要在 工程中 创建一个任意目录,目录中必须包含 index.html

我们只需要将这个 index.html 的 上级目录相对路径配置给 ui_path 即可.

这里 我们推荐你使用 R.rel(__file__,"res/你的ui路径") 这种形式来填写路径.

配置案例

图形处理流程

插件的核心实现

插件的核心,是实现 GPTask中的run方法

在run方法中,你可以绘制图片,或者根据图像算法得到一个结果.

def run(self,cv_image: np.ndarray,offset_x:int=0,offset_y:int=0,data=None) -> Result:
# 在这里要写你的插件逻辑
return Result(cv_image,offset_x,offset_y,data)
  • 必填部分说明
字段或方法类型是否必填说明
cv_imagenp一张3通道的 cv numpy image
offset_x,offset_ystr上级插件处理图片后,返回的偏移量.
比如:上级插件裁剪了图片,会把裁剪区域距原图顶点的偏移量传入.
dataobj上级插件处理图片后,返回的数据
Resultobject当run方法内部,处理好图片,和数据后,需要传封装进 Result中返回

2.build.as配置插件

在 build.as文件中配置gp属性

gp是个json数组,我们需要写一个json对象,对象包含两个属性 id,des

{
"id":"这里写继承GPTask类的路径",
"des":"这是我的第一个图色插件"
}
  • 属性介绍
字段或方法类型是否必填说明
idstr插件的相对路径: 以 “.”开头, “.”代表当前工程根目录
如:你在工程根__init__.py 中有一个MyPlug插件,则可以写为 .MyPlug
如:你在工程下有一个user.py,在user.py中有一个MyPlug插件,则可以写为 .user.MyPlug
desstr插件功能简短的介绍
  • id: 插件的路径

路径如何书写

  • des: 插件的简短功能描述

配置案例

图形处理流程