屏幕及图色操作

requestScreenShot

请求截屏权限,注意:建议在冰狐智能辅助app处于前台时调用,否则可能会出现黑屏闪烁,请求权限失败。建议在脚本的最开头调用该函数。
参数:
参数名 类型 默认值 说明
confirmPermissionTag string 选填,默认值为'立即开始|允许' confirmPermissionTag为权限对话框中确认打开权限的文字。如果不为空,则会自动点击该控件,自动确认打开权限;若为空则需要自己点击确认按钮。支持"|"分割多个文本,找到一个即可。
retryCount integer 选填,默认值为5 点击confirmTag的重试次数
例子:
function main() {
    requestScreenShot();
}

screenShot

截屏,截屏图片存在sdcard/aznfz中,支持png和jpg格式。若第一个参数为string则返回boolean,true表示截屏成功,若第一个参数为function,则透传callback函数的返回值。注意:第一次调用前必须先申请截屏权限。也可以去网页「移动端」/「我的设备」点击"远程控制",用鼠标来截屏。
参数:
。当为函数时,截图后的数据会传入该回调函数供用户处理
参数名 类型 默认值 说明
fileName/callback string/function 必填 文件名或者对应的处理函数。当为文件名时表示截图存放的文件名,默认存放的路径在手机扩展存储目录(一般为sdcard,注意不同的手机存储目录可能不同)下的aznfz目录下,支持png和jpg后缀;
destPath string 选填 图片存放的目标文件夹,相对手机扩展存储目录。注意不是绝对路径
region array 选填 截图区域,[left, top, width, height],若取值在[0, 1]之间表示比例,例:0.5表示left位于屏幕x轴中点;若取值大于1表示像素值。
quality integer 选填 图片质量取值范围0-100,默认值100
imageType integer 选填 图片的类型,1表示png,2表示jpg。默认为1。注意:如果fileName的后缀带有文件类型(比如:xx.png)则以fileName为准
例子:
function main() {
    requestScreenShot();

    var ret = screenShot('pic.png');
    console.log('ret:' + ret);
}

stopScreenShot

停止截屏,停止后若想继续截屏,必须先调用请求截屏权限函数
参数:
参数名 类型 默认值 说明

getScreenColor

获取屏幕某点的颜色值,返回颜色值为整型值,为ARGB格式,黑色为:0xFF000000,红色为:0xFFFF000000,透明为:0x00000000。注意:第一次调用前必须先申请截屏权限。也可以去网页「移动端」/「我的设备」点击"远程控制",用鼠标来获取当前点颜色值。 若参数为数组,则返回值为数组,返回多个点的颜色。
参数:
参数名 类型 默认值 说明
x或者[[x1, y1],[x2,y2]] integer 必填 x坐标,像素值。或者为数组,数组里面item为数组,存放x,y为具体的某个点,用于同时获取多个点的颜色。
y integer 必填 y坐标,像素值。若第一个参数为数组,该参数不需要设置
例子:
function main() {
    requestScreenShot();

    // 返回单点的颜色,color为整数
    var color = getScreenColor(200, 300);
    console.log('color:' + color);

    // 同时返回多个点的颜色,x为数组
    var x = getScreenColor([[535, 292],[110, 256]])
    console.log('x:' + x)
}

findColor

找色,在当前UI界面中寻找相似的颜色,返回数组,数组元素为找到的点,用point表示点(屏幕坐标)。注意:第一次调用前必须先申请截屏权限
参数:
参数名 类型 默认值 说明
color integer/string 必填 颜色,支持整型值和字符串,字符串格式为#AARRGGBB或者#RRGGBB
options object {findAll:false, threshold: 0, region:[left, top, right, bottom], region可以在搜索时指定区域[left, top, right, bottom],注意:若取值在[0, 1]之间表示比例,例:[0.5, 100, 900, 2000]表示left位于屏幕x轴中点;若取值大于1表示像素值。neighbor:[[offsetX, offsetY, color], [offsetX, offsetY, color]]} findAll表示是否查找所有符合条件的点。threshold表示每个rgb分量的阈值,默认为0,表示完全匹配,取值范围[0-255]。region表示搜索区域,默认搜索整个屏幕。neighbor表示对目标点的相邻点的颜色要求,偏移值为相对目标color坐标的偏移,可以为负值。
例子:
function main() {
    requestScreenShot();

    var arr = findColor('#445533', {threshold: 3, findAll: true, region:[10, 10, 300, 300], neighbor:[[0, 3, '#443322'],[3, 0, '#443322']]});
    for(var point of arr) {
        console.log('find color x:', point.x, ' y:', point.y);
    }
}

findImage

找图,在当前UI界面中寻找指定的图片,返回找到图片的左上角坐标point,用point.x和point.y表示(屏幕坐标),若找不到图,则返回的坐标为负值比如:(-1, -1)。注意:第一次调用前必须先申请截屏权限
参数:
参数名 类型 默认值 说明
imageFileName string 必填 图片名,注意:支持绝对路径、相对路径和asset文件,例:findImage('asset:template.png');(可以在定制App打包时将图片打包到app的asset中)。
region array 选填 识别区域[left, top, width, height],若取值在[0, 1]之间表示比例,例:0.5表示left位于屏幕x轴中点;若取值大于1表示像素值。
threshold float 选填 用于确定图片识别是否成功的阈值,取值范围[1, 100],默认值10(可以取小数值),值越小则要求的匹配度越高。
例子:
function main() {
    requestScreenShot();

    //  相对目录,Pictures目录下的图片
    // var point = findImage('Pictures/template.jpg', [10, 10, 300, 100]);

    // 在apk资源目录中
    // var point = findImage('asset:img.png', [10, 10, 300, 100]);

    // 绝对路径
    var point = findImage('/sdcard/template.jpg');
    if (point) {
       console.log('find success x:', point.x, ' y:', point.y);
    } else {
        console.log('find image failed');
    }
}

readImage

读图片,返回Bitmap
参数:
参数名 类型 默认值 说明
path string 必填 图片路径,注意:支持绝对路径、相对路径
例子:
function main() {
    var bitmap = readImage('/sdcard/template.jpg');
    if (bitmap) {
       console.log('find success:' + bitmap);
    } else {
        console.log('read failed');
    }
}

writeImage

将图片写入文件,返回boolean。如果希望图片在相册中可以访问,必须在写图片后调用更新相册函数
参数:
参数名 类型 默认值 说明
bitmap Bitmap 必填 位图
path string 必填 目的图片的路径,注意:支持绝对路径、相对路径
type string 必填 图片类型,支持'jpg'和'png'
quality integer 选填 图片质量0-100,默认为100
例子:
function main() {
    var b = writeImage(bitmap, '/sdcard/template.jpg', 'jpg', 50);
    console.log('b:' + b);
}

requestLockScreen

请求锁屏权限,调用后需要人工点击同意,必须在launchApp之前调用,建议在脚本的第一行调用,返回boolean,true表示权限请求成功。注意该权限只需要设置一次,除非卸载冰狐智能辅助app
参数:
参数名 类型 默认值 说明
maxWaitTime integer 选填 最长等待多长时间设置完成,单位毫秒,默认值1000*40
例子:
var ret = requestLockScreen();
console.log('ret:' + ret);

lockScreen

熄灭屏幕,锁屏。
参数:
参数名 类型 默认值 说明
例子:
lockScreen();

wakeup

亮屏。
参数:
参数名 类型 默认值 说明
例子:
wakeup();