Script 1.8.0

seekImageByID

原型:

seekImageByID(imageID)
seekImageByID(imageID, sim)

是否支持多设备:

不支持

对应的 REST API:

根据 imageID 在手机屏幕上查找指定图像

描述:

通过配置文件与ImageID方式在手机屏幕上查找指定图像,更多信息请看seekImageByID快速入门
设置配置文件:
请在“我的文档”中准备文件{Documents}\resources\images\image_mapping.json。 image_mapping.json的作用就是把要输入到seekImageByID函数里的参数,预定义在配置文件中。 固定格式封装:

{
	'IDMapImageFile':
	[
		{'ID':'juhuasuan', APP:'weixin', REGION: {x:0, y:0, width:719, height: 1279, srcResolutionX: 720, srcResolutionY: 1280}, IMAGEFILENAME:'jianghu.bmp'},
		{'ID':'AAA', APP:'weixin', REGION: {x:0, y:0, width:1440, height: 2560, srcResolutionX: 1440, srcResolutionY: 2560}, IMAGEFILENAME:'1440small.png'}
	]
}

文件中参数指:

  • ID: 图像ID,用户自定义

  • APP: 该图标所在应用程序,事实上是一个子路径,即该图标所在的子文件夹,存放在“{Documents}\resources\images\”路径中,用于存放图像

  • REGION:
    x: 屏幕搜索范围的左上角X坐标
    y: 屏幕搜索范围的左上角Y坐标
    width: 屏幕搜索范围的宽度
    height: 屏幕搜索范围的高度
    srcResolutionX: 要搜索的图像从那款分辨率的手机上获得的,此参数为该分辨率的宽度
    srcResolutionY: 要搜索的图像从那款分辨率的手机上获得的,此参数为该分辨率的高度

  • IMAGEFILENAME:图像名称

参数:

imageID: 图像 ID
sim: 相似度,取值范围为[0.0, 1.0]

返回值:

对象:Coord 对象:可以通过获取到的对象找到图像的中心点坐标,比如coord.x;coord.y;异常返回lastError();

示例:

在全屏或指定区域范围内寻找指定图片的坐标

指定的图片image1080.bmp目录{C:\~}\Documents\resources\images\1280\image1080.bmp
image_mapping.json在目录{C:\~}\Documents\resources\images\image_mapping.json
image_mapping.json内容如下:

{
'IDMapImageFile':
[
{'ID':'AAA0', APP:'1280', REGION: {x:0, y:0,width:719, height: 1279, srcResolutionX: 720, srcResolutionY:1280}, IMAGEFILENAME:'image1080.bmp'},
]
}

示例代码:

//seekImageByID(imageID)示例
var device = Device.getMain(); //获取当前设备对象
var ret = device.seekImageByID("AAA0");
if (ret != null){
    print("Center X: " + ret.x);
    print("Center Y: " + ret.y);
} else {
    print("没有在手机屏幕找到该图");
}

//seekImageByID (imageID, sim)示例
var device = Device.getMain(); //获取当前设备对象
var ret = device.seekImageByID("AAA0", 0.8);
if (ret != null){
    print("Center X: " + ret.x);
    print("Center Y: " + ret.y);
} else {
    print("没有在手机屏幕找到该图");
}
运行结果:
//在手机屏幕找到指定图片,则返回:
Center X: 271
Center Y: 865
//在手机屏幕未找到指定图片,则返回:
没有在手机屏幕找到该图