当前位置:   article > 正文

autojs 简单入门_autojs入门

autojs入门

autojs 简单入门

首先

等待指定的应用出现。例如waitForPackage("com.tencent.mm")为等待当前界面为微信。
back()          //模拟按下手机返回键
powerDialog();  //模拟长按关机键(进入电源菜单)
home()          //模拟按下手机主页键
notifications()	//拉出手机通知栏
quickSettings()	//显示快速设置(下拉通知栏到底)
recents()		//显示最近任务
splitScreen()	//分屏。需要系统自身功能的支持
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

1、颜色的表示方法

#AARRGGBB
#RRGGBB

AA是A1pha通道(透明度)的值,
RRR通道(红色)的值,
GGG通道(绿色)的值,
BBB通道(蓝色)的值

可以通过colors.toString()把颜色整数转换为字符串
通过colors.parseColor()把颜色字符串解析为颜色整数
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2、颜色的转换方法

//返回颜色值的字符串,格式为"#AARRGGBB"。
colors.toString(colorNum)
//返回颜色color的R通道的值,范围O~255.
colors.red(Num|Str)
//返回颜色color的G通道的值,范围0~255.
colors.green(Num|Str)
//返回颜色co1or的B通道的值,范围O~255.
colors.blue(Num|Str)
//返回颜色co1or的Alpha通道的值,范围O~255.
colors.alpha(Num|Str)
//返回这些颜色通道构成的整数颜色值。A1pha通道将是255(不透明)
colors.rgb(redNum,greenNum,blueNum)
//返回这些颜色通道构成的整数颜色值。
colors.argb(alpha,red,green,blue)
//返回颜色的整数值。
colors.parsecolor(colorstr)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

3、判断颜色是否相似或相等

//返回两个颜色是否相似。
colors.isSimilar(num|str,num|str[,thresholdNum,a1gorithm])

/返回两个颜色是否相等。*注意该函数会忽略Alpha通道的值进行比较。
colors.equals (num|str, num |str)
  • 1
  • 2
  • 3
  • 4
  • 5

4、autojs内置颜色

colors.BLACK
黑色,颜色值   #FFO00000
colors.DKGRAY
深灰色,颜色值 #FF444444
colors.GRAY
灰色,颜色值   #FF888888
colors.LTGRAY
亮灰色,颜色值 #FFCCCCCC
colors.WHITE
白色,颜色值  #FFFFFFFF
colors.RED
红色,颜色值  #FFFF0000
colors.GREEN
绿色,颜色值  #FFOOFFO0
colors.BLUE
蓝色,颜色值  #FFO00OFF
colors.YELLOW
黄色,颜色值  #FFFFFF00
colors.CYAN
青色,颜色值  #FFOOFFFF
colors.MAGENTA
品红色,颜色值 #FFFFOOFF
colors.TRANSPARENT
透明,颜色值   #00000000
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

5、片回收机制(防内存泄露)

image对象创建后尽量在不使用时进行回收,同时避免循环创建大量图片。lmage对象通过调用recycle()函数来回收。
//读取图片
var img = images.read("./1.png"");
//对图片进行躁作
...
//回收图片
img.recycle();
例外的是,caputerScreen()返回的图片不需要回收。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

6、读取图片

images.read(path)	//返回Image对象/ nul1
images.load(ur1)	//返回Image对象/ nu11
images.copy(img)	//返回Image对象
  • 1
  • 2
  • 3

7、Image对象

Image.getWidth()//返回以像素为单位图片宽度。
Image.getHeight()//返回以像素为单位的图片高度。
Image.saveTo(path)//把图片保存到路径path。(如果文件存在则覆盖)
Image.pixe1(x,y)//返回图片image在点(x,y)处的像素的ARGB值。
  • 1
  • 2
  • 3
  • 4

8、图片对象的保存方法

Image.saveTo(path)//把图片保存到踣径path。(如果文件存在则覆盖)
images.save(image,path[,format = "png", quality = 100])
//如果文件不存在会被创建,文件存在会被覆盖。
  • 1
  • 2
  • 3

9、图片的编码转换(base64和bytes)

images.fromBase64(base64)	//返回img对象
images.toBase64(img[,format = "png",quality = 100])	//返回base64数据
images.fromBytes(bytes)	//返回img对象
images.toBytes(img[,format = "png",quality = 100])	//返回字节
  • 1
  • 2
  • 3
  • 4

10、封装获取屏幕小图的函数

// 封装获取屏幕小图的函数

// 先获取截屏权限
if(!requestScreenCapture()){
    toast('请求截图失败');
    exit();
}
sleep(3000);
toast('3')

// images.clip(img,x,y,w,h)从图片img的位置()处剪切大小为w*h的区域并返回剪切区域的新图片。
function getImg(x1,y1,x2,y2,path){
    var img = images.captureScreen();
    var imgS = images.clip(img,x1,x2,x2-x1,y2-y1);
    imgS.saveTo(path);
    img.recycle();
    toast('a')
}
// getImg(x,y,w,h,)
getImg(100,100,200,200,'/sdcard/脚本/img.png')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

11、图片处理的函数(非专业可以略过)

images.resize(img,size[,interpolation])//调整图片大小
images.scale(img,fx,fy[,interpolation])//放缩图片,并返回放缩后的图片。
images.rotate(img,degress[,x,y])//将图片逆时针旋转degress度,返回旋转后的图片对象。
images.concat(img1,image2[,direction])//连接两张图片,并返圆连接后的图像。如果两张图片大小不一致,小的那张将适当居中。
images.grayscale(img)//灰度化图片,并返回灰度化后的图片。
image.threshold(img,threshold,maxVal[,type])//将图片阈值化,并返回处理后的图像。
images.adaptiveThreshold(img,maxValue,adaptiveMethod,thresholdTrype, blockSize,C)//对图片进行自适应阈值化处理,并返回处理后的图像。
images.cvtColor(img,code[,dstCn])//对图像进行颜色空间转换,并返回转换后的图像。
images.inRange(img,lowerBound,upperBound)//将图片二值化,在lowerBound-upperBound范围以外的颜色都变成0,在范围以内的颜色都变成255。
images.interva1(img,color,interval)//将图片二值化,在color-interval ~ color+interva1范围以外的颜色都变成0.在范围以内的颜色都变成255。这里对color的加减是对每个通道而言的。
images.blur(img,size[,anchor,type])//对图像进行模糊(平滑处理),返回处理后的图像。
images.medianB1ur(img,size)//对图像进行中值滤波,返回处理后的图像。
images.gaussianBlur(img,size[,sigmaX,sigmaY,type])//对图像进行高斯模糊,返回处理后的图像。
images.matToImage(mat)//把Mat对象转换为Image对象。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

12、请求截图权限

images.requestScreenCapture([landscape])//只是获取权限,并没有截屏
常用格式。

//自动点击获取授权,根据手机型号自行修改
threads.start(function(){
	//在新线程执行的代码
    while(true){
        if(text('立即开始').findOnce()){
            text('立即开始').findOnce().click();
            break;
        }else{
            sleep(3000);
        }
    }
});

//请求截图
if(!requestScreenCapture()){
    toast('请求截图失败');
    exit();
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

13、截屏功能

images.captureScreen()//返回imag对象
captureScreen()
区别:返回Image对象,保存到路径,不返回
images.captureScreen(path)
captureScreen(path)
  • 1
  • 2
  • 3
  • 4
  • 5
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/880571
推荐阅读
相关标签
  

闽ICP备14008679号