AIGameAIGame
首页
API文档
UI框架
API实例
UI实例
下载软件
首页
API文档
UI框架
API实例
UI实例
下载软件
  • API文档

    • $global - 全局函数
    • $act - 手势动作
      • 01.手势动作 - $act
      • 02.节点选择器 - UiSelector
    • $ag - 图色框架
    • $app - 应用操作
    • $arc - 悬浮菜单按钮
      • 01.悬浮菜单 - $arc
      • 02.悬浮容器 - MenuBody
      • 03.菜单按钮 - MenuItem
    • $bus - 消息总线
    • $color - 颜色操作
    • $crypt - 加密算法
    • $device - 设备信息
    • $dex - dex,jar,so文件加载
    • $draw - 全局绘制
    • $engine - 脚本引擎
      • 01.任务信息 - JsTaskInfo
      • 02.脚本对象 - $task
    • $fc - 文件选择器
    • $file - 文件操作
    • $floaty - 悬浮窗
    • $img - 图片操作
    • $log - 日志框架
    • $ocr - 文字识别
    • $res - 资源管理器
      • 01.资源管理器 - $res
      • 02.资源操作 - ResManager
    • $root - ROOT与Shell命令
    • $screen - 屏幕操作
    • $storage - 应用内存储
    • $str - 字符串工具类
    • $sys - 系统操作
    • $thread - 并发编程
    • $tip - 对话框
    • $tts - 文字阅读

$img 返回

图片操作

makePng(image,color,threshold)

制作透明图片

  • 参数 : image {image} 需要处理的图片
  • 参数 : color {string} 保留的颜色
  • 参数 : threshold {number} 允许颜色的误差
  • 返回 : {image} 生成新的png图片

makePng(image,colors,thresholds)

制作透明图片

  • 参数 : image {image} 需要处理的图片
  • 参数 : colors {string} 保留的颜色
  • 参数 : thresholds {number} 允许颜色的误差
  • 返回 : {image} 生成新的png图片

makePng(image,colors,thresholds,options)

制作透明图片

  • 参数 : image {image} 需要处理的图片
  • 参数 : colors {string} 保留的颜色
  • 参数 : thresholds {number} 允许颜色的误差
  • 参数 : options {object} 配置参数
  • 返回 : {image} 生成新的png图片
let options = {
     isBlur:true,//开启滤波(默认值:true)
     blurSize:1,//滤波大小(默认值:1)
     isDilate:true,//开启膨胀(默认值:true)
     dilateSize:1,//膨胀大小(默认值:1)
     isErode:true,//开启腐蚀(默认值:true)
     erodeSize:3,//腐蚀大小(默认值:3)
 }

read(imgPath)

读取图片
读取资源失败时会返回空null

  • 参数 : imgPath {string} 图片路径
  • 返回 : {Image} 读取的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p01.png";
 //读取图片
 let img = $img.read(path);

read(imgFile)

读取图片
读取资源失败时会返回空null

  • 参数 : imgFile {File} 图片路径
  • 返回 : {Image} 读取的图片

save(image,path,format,quality)

保存图片

  • 参数 : image {Image} 需要保存的图片
  • 参数 : path {string} 保存路径
  • 参数 : format {string} 格式
  • 参数 : quality {int} 质量

save(image,path)

保存图片

  • 参数 : image 需要保存的图片
  • 参数 : path 保存路径

toBase64(image,format,quality)

转换base64

  • 参数 : image 需要转换为base64的图片
  • 参数 : format 格式
  • 参数 : quality 质量
  • 返回 : 图片的base64字符串

toBase64(image)

转换base64

  • 参数 : image 需要转换为base64的图片
  • 返回 : 图片的base64字符串
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p01.png";
 //读取图片
 let img = $img.read(path);
 //转化为base64
 let imgBase64 = $img.toBase64(img);

 log(imgBase64)

toBase64(path)

转换base64

  • 参数 : path 需要转换为base64的图片路径
  • 返回 : 图片的base64字符串
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p01.png";
 //转化为base64
 let imgBase64 = $img.toBase64(path);

 log(imgBase64)

readBase64(base64Str)

加载base64

  • 参数 : base64Str base64字符串
  • 返回 : 图片对象
//读取图片
 let img = $img.readBase64(imgBase64);

clip(image,x,y,w,h)

裁剪图片

  • 参数 : image 原本的图片
  • 参数 : x 开始坐标
  • 参数 : y 开始坐标
  • 参数 : w 宽度
  • 参数 : h 高度
  • 返回 : 新的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p03.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.clip(img, 0, 0, 300, 200);
 //显示图片
 $img.show(image);

resize(image,w,h,interpolation)

设置尺寸

  • 参数 : image 需要处理的图片
  • 参数 : w 宽度
  • 参数 : h 高度
  • 参数 : interpolation 插值方式
  • 返回 : 图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.resize(img, 200, 200, "INTER_CUBIC");
 //显示图片
 $img.show(image);

resize(image,w,h)

设置尺寸

  • 参数 : image 需要处理的图片
  • 参数 : w 宽度
  • 参数 : h 高度
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.resize(img, 200, 200);
 //显示图片
 $img.show(image);

scale(image,scaleX,scaleY,interpolation)

缩放图片

  • 参数 : image 需要处理的图片
  • 参数 : scaleX 宽度缩放倍数
  • 参数 : scaleY 高度缩放倍数
  • 参数 : interpolation 插值方式
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.scale(img, 0.3, 0.2, "INTER_CUBIC");
 //显示图片
 $img.show(image);

scale(image,scaleX,scaleY)

缩放图片

  • 参数 : image 需要处理的图片
  • 参数 : scaleX 宽度缩放倍数
  • 参数 : scaleY 高度缩放倍数
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.scale(img, 0.3, 0.2);
 //显示图片
 $img.show(image);

rotate(image,degree,x,y)

旋转图片

  • 参数 : image 需要处理的图片
  • 参数 : degree 旋转的角度
  • 参数 : x 旋转中心点x坐标
  • 参数 : y 旋转中心点y =坐标
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.rotate(img, 45, 100, 200);
 //显示图片
 $img.show(image);

rotate(image,degree)

旋转图片

  • 参数 : image 需要处理的图片
  • 参数 : degree 旋转的角度
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.rotate(img, 45);
 //显示图片
 $img.show(image);

rotate(image)

旋转图片
默认旋转90度

  • 参数 : image 需要处理的图片
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.rotate(img);//默认旋转90度
 //显示图片
 $img.show(image);

concat(img1,img2,directionStr)

拼接图片

  • 参数 : img1 需要拼接的图片1
  • 参数 : img2 需要拼接的图片2
  • 参数 : directionStr 拼接方向
  • 返回 : 拼接好的图片

gray(image)

灰度化

  • 参数 : image 需要灰度化的图片
  • 返回 : 灰度化的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.gray(img);
 //显示图片
 $img.show(image);

threshold(image,min,max)

二值化图片

  • 参数 : image 需要处理的图片
  • 参数 : min 阈值
  • 参数 : max 最大阈值
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.threshold(img, 150, 255);
 //显示图片
 $img.show(image);

adaptiveThreshold(image,maxValue,adaptiveMethod,thresholdType,blockSize,C)

自适应二值化

  • 参数 : image {Image} 图片
  • 参数 : maxValue {number} 最大值
  • 参数 : adaptiveMethod {string} 在一个邻域内计算阈值所采用的算法 默认值是:GAUSSIAN_C
  • 参数 : thresholdType {string} 阈值化类型 默认值是:BINARY
  • 参数 : blockSize {number} 邻域块大小
  • 参数 : C {number} 偏移值调整量
  • 返回 : {Image}
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.adaptiveThreshold(img,255,"MEAN_C","BINARY", 11, 2);
 //显示图片
 $img.show(image);

cvtColor(img,code,dstCn)

颜色空间转换

  • 参数 : img {Image} 图片
  • 参数 : code {string} 颜色空间转换的类型,可选的值有一共有205个 默认值:COLOR_BGR2GRAY
  • 参数 : dstCn {number} 目标图像的颜色通道数量,如果不填写则根据其他参数自动决定。
  • 返回 : {Image} 颜色转换后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.cvtColor(img,"RGBA2BGR",null);
 //显示图片
 $img.show(image);

cvtColor(img,code)

颜色空间转换

  • 参数 : img {Image} 图片
  • 参数 : code {string} 颜色空间转换的类型,可选的值有一共有205个 默认值:COLOR_BGR2GRAY
  • 返回 : {Image} 颜色转换后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.cvtColor(img,"RGBA2BGR");
 //显示图片
 $img.show(image);

inRange(img,lowerBound,upperBound)

图片二值化

  • 参数 : img {Image} 图片
  • 参数 : lowerBound {string} | {number} 颜色下界
  • 参数 : upperBound {string} | {number} 颜色下界
  • 返回 : {Image}
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.inRange(img,"#666666","#FFFFFF");
 //显示图片
 $img.show(image);

inRange(img,lowerBound,upperBound)

inRange(img,lowerBound,upperBound)

inRange(img,lowerBound,upperBound)

interval(img,color,threshold)

图片二值化
在color-interval ~ color+interval范围以外的颜色都变成0,在范围以内的颜色都变成255。
这里对color的加减是对每个通道而言的。
例如images.interval(img, "#888888", 16),
每个通道的颜色值均为0x88,加减16后的范围是[0x78, 0x98],
因此这个代码将把#787878~#989898的颜色变成#FFFFFF,而把这个范围以外的变成#000000。

  • 参数 : img {Image} 图片
  • 参数 : color {string} | {number} 颜色值
  • 参数 : threshold {number} 每个通道的范围间隔
  • 返回 : {Image}
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.interval(img,"#787878",20);
 //显示图片
 $img.show(image);

interval(img,color,threshold)

blur(img,size,point,type)

模糊平滑处理

  • 参数 : img {Image} 图片
  • 参数 : size {Array} 定义滤波器的大小,如[3, 3]
  • 参数 : point {Array} 指定锚点位置(被平滑点),默认为图像中心
  • 参数 : type {string} 推断边缘像素类型,默认为"DEFAULT"
  • 返回 : {Image}
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.blur(img,[10,10],[-1,-1],"REPLICATE");
 //显示图片
 $img.show(image);

medianBlur(img,size)

中值滤波

  • 参数 : img {Image} 图片
  • 参数 : size {number} 定义滤波器的大小
  • 返回 : {Image}
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.medianBlur(img,3);
 //显示图片
 $img.show(image);

gaussianBlur(img,size,sigmaX,sigmaY,type)

高斯模糊

  • 参数 : img {Image} 图片
  • 参数 : size {Array} 定义滤波器的大小,如[3, 3]
  • 参数 : sigmaX {number} x方向的标准方差,不填写则自动计算
  • 参数 : sigmaY {number} y方向的标准方差,不填写则自动计算
  • 参数 : type {string} 推断边缘像素类型,默认为"DEFAULT"
  • 返回 : {Image}
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.gaussianBlur(img,[15,15],0,0,"WRAP");
 //显示图片
 $img.show(image);

flip(image)

左右翻转

  • 参数 : image 需要处理的图片
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.flip(img);
 //显示图片
 $img.show(image);

upside(image)

上下翻转

  • 参数 : image 需要处理的图片
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.upside(img);
 //显示图片
 $img.show(image);

flip(image,sx,sy)

水平翻转

  • 参数 : image 需要处理的图片
  • 参数 : sx 横向翻转的方向
  • 参数 : sy 纵向翻转的方向
  • 返回 : 处理后的图片
//图片路径
 let path = "sdcard/Pictures/示例/$img/res/p02.png";
 //读取图片
 let img = $img.read(path);
 //操作图片
 let image = $img.flip(img,-1,-1);
 //显示图片
 $img.show(image);

putTop(bigImg,smallImg,x,y)

在大图片上面放置一个小图片
释放资源

  • 参数 : bigImg {Image} 大图片
  • 参数 : smallImg {Image} 小图片
  • 参数 : x {int} 小图片左上角x
  • 参数 : y {int} 小图片左上角y
  • 返回 : 处理完成的图片
//图片路径
 let path1 = "sdcard/Pictures/示例/$img/res/p02.png"; //大图片
 let path2 = "sdcard/Pictures/示例/$img/res/p04.png"; //小图片

 let bigImg = $img.read(path1);
 let smallImg = $img.read(path2);

 //设置放置的位置
 let image = $img.putTop(bigImg, smallImg, 20, 20);
 //显示图片
 $img.show(image);

findColor(image,color,threshold,x,y,w,h)

查找颜色

  • 参数 : image {image} 需要处理的图片
  • 参数 : color {string} 需要查找的颜色
  • 参数 : threshold {int} 阈值
  • 参数 : x {int} 范围x起点坐标
  • 参数 : y {int} 范围y起点坐标
  • 参数 : w {int} 范围宽度
  • 参数 : h {int} 范围高度
  • 返回 : {image} 处理后的图片

findColor(image,color,threshold,region)

查找颜色

  • 参数 : image {image} 需要处理的图片
  • 参数 : color {string} 需要查找的颜色
  • 参数 : threshold {int} 阈值
  • 参数 : region {int[]} 找色范围
  • 返回 : 处理后的图片

findColor(image,color,threshold)

查找颜色

  • 参数 : image 需要处理的图片
  • 参数 : color 需要查找的颜色
  • 参数 : threshold 阈值
  • 返回 : 处理后的图片

findColor(image,color)

查找颜色

  • 参数 : image 需要处理的图片
  • 参数 : color 需要查找的颜色
  • 返回 : 处理后的图片

findMultiColors(image,region,color,threshold,colors)

多点找色

  • 参数 : image {image} 图片
  • 参数 : region {int[]} 范围
  • 参数 : color {string} 颜色
  • 参数 : threshold {int} 阈值
  • 参数 : colors {int[]} 点色数据
  • 返回 : {point} 位置

findImg(bigImg,minImg,params)

找图

  • 参数 : bigImg 大图片
  • 参数 : minImg 小图片
  • 参数 : params 参数
  • 返回 : 找到的位置(中心点)

findImg(bigImg,minImg,options)

findImg(bigImg,minImg)

findImgAll(bigImg,minImg,params)

找到所有图片位置

  • 参数 : bigImg 大图片
  • 参数 : minImg 需要查找的小图片
  • 参数 : params 查找参数
  • 返回 : 所有的位置集合

findImgAll(bigImg,minImg,options)

找到所有图片位置

  • 参数 : bigImg 大图片
  • 参数 : minImg 需要查找的小图片
  • 参数 : options 查找参数
  • 返回 : 所有的位置集合

findImgAll(bigImg,minImg)

找到所有图片位置

  • 参数 : bigImg 大图片
  • 参数 : minImg 需要查找的小图片
  • 返回 : 所有的位置集合

featureMatch(bigImg,smallImg,params)

特征匹配

  • 参数 : bigImg 大图
  • 参数 : smallImg 小图
  • 参数 : params 特征匹配参数
  • 返回 : 找到的图片中心点

featureMatch(bigImg,smallImg)

特征匹配

  • 参数 : bigImg 大图
  • 参数 : smallImg 小图
  • 返回 : 找到的图片中心点

show(img)

显示图片

  • 参数 : img 需要显示的图片

show(image)

显示图片

  • 参数 : image 需要显示的图片

show(path)

显示图片

  • 参数 : path {string} 图片路径
//把图片显示在屏幕上
 let imgPath = "sdcard/Pictures/t01.png";
 $img.show(imgPath);
最近更新:: 2025/5/14 08:43
Contributors: 孑小白
Prev
$floaty - 悬浮窗
Next
$log - 日志框架