找色/比色

比色

image.cmpColor()

单点或者多点比色,找到所有符合标准的点,如果都符合返回true,否则是false

@param image1 图片
@param points 字符串类似这样 6|1|0x969696-0x000010,1|12|0x969696,-4|0|0x969696
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param x 区域的X起始坐标,默认填写0全屏查找
@param y 区域的Y起始坐标,默认填写0全屏查找
@param ex 终点X坐标,默认填写0全屏查找
@param ey 终点Y坐标,默认填写0全屏查找
@return 布尔型,true代表找到了 false代表未找到

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var aimage = image.captureFullScreen(); if (aimage != null) { var points3 ="205|1130|0xff944b-0x101010,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points = image.cmpColor(aimage,points3, 0.9, 0, 0, 0, 0); logd("points "+points); } } main();

image.cmpColorEx()

单点或者多点比色,找到所有符合标准的点,自动截图
如果都符合返回true,否则是false

@param points 字符串类似这样 6|1|0x969696-0x000010,1|12|0x969696,-4|0|0x969696
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param x 区域的X起始坐标,默认填写0全屏查找
@param y 区域的Y起始坐标,默认填写0全屏查找
@param ex 终点X坐标,默认填写0全屏查找
@param ey 终点Y坐标,默认填写0全屏查找
@return 布尔型,true代表找到了 false代表未找到

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var points3 ="205|1130|0xff944b-0x101010,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points = image.cmpColorEx(points3, 0.9, 0, 0, 0, 0); logd("points "+points); } main();

image.cmpMultiColor()

多点或者多点数组比色,找到所有符合标准的点,依次查找
如果找到就返回当前points的索引值,如果返回-1,说明都没有找到

@param image1 图片
@param points 数组类似这样 [“6|1|0x969696-0x000010,1|12|0x969696,-4|0|0x969696”,“6|1|0x969696”]
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param x 区域的X起始坐标,默认填写0全屏查找
@param y 区域的Y起始坐标,默认填写0全屏查找
@param ex 终点X坐标,默认填写0全屏查找
@param ey 终点Y坐标,默认填写0全屏查找
@return 整型,如果找到就返回当前points的索引值,如果返回-1,说明都没有找到

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var aimage = image.captureFullScreen(); if (aimage != null) { var points1 ="205|112230|0xff944b,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points2 ="205|113022|0xff944b,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points3 ="205|1130|0xff944b,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points = image.cmpMultiColor(aimage,[points1,points2,points3], 0.9, 0, 0, 0, 0); logd("points "+points); } } main();

image.cmpMultiColorEx()

多点或者多点数组比色,找到所有符合标准的点,自动截屏,依次查找
如果找到就返回当前points的索引值,如果返回-1,说明都没有找到

@param points 数组类似这样 [“6|1|0x969696-0x000010,1|12|0x969696,-4|0|0x969696”,“6|1|0x969696”]
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param x 区域的X起始坐标,默认填写0全屏查找
@param y 区域的Y起始坐标,默认填写0全屏查找
@param ex 终点X坐标,默认填写0全屏查找
@param ey 终点Y坐标,默认填写0全屏查找
@return 整型,如果找到就返回当前points的索引值,如果返回-1,说明都没有找到

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var points1 ="205|112230|0xff944b,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points2 ="205|113022|0xff944b,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points3 ="205|1130|0xff944b,211|1158|0xff8e42,191|1175|0xfcfbf7"; var points = image.cmpMultiColorEx([points1,points2,points3], 0.9, 0, 0, 0, 0); logd("points "+points); } main();

找色

image.findColor()

在图片中找到颜色和color完全相等的某个点,并返回该点的左边;如果没有找到,则返回null。

@param image 图片
@param color 要寻找的颜色
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param x 区域的X起始坐标
@param y 区域的Y起始坐标
@param ex 终点X坐标
@param ey 终点Y坐标
@param limit 限制个数
@param orz 方向,分别从1-8
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var aimage = image.captureFullScreen(); if (aimage != null) { var points = image.findColor(aimage,"0xCDD7E9-0x101010", 0.9, 0, 0, 0, 0, 10,1); logd("points "+points); } } main();

image.findColorJ()

在图片中找到颜色和color完全相等的点,参数从JSON中获取
如果没有找到,则返回null。

@param image 图片
@param jsonFileName res文件中取色工具生成的JSON文件,只要填写文件名称即可,后缀不用填写
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var aimage = image.captureFullScreen(); if (aimage != null) { var points = image.findColorJ(aimage,"金币"); logd("points "+points); } } main();

image.findColorEx()

在当前屏幕中找到颜色和color完全相等的点,并返回该点的左边;如果没有找到,则返回null。

@param color 要寻找的颜色
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param x 区域的X起始坐标
@param y 区域的Y起始坐标
@param ex 终点X坐标
@param ey 终点Y坐标
@param limit 限制个数
@param orz 方向,分别从1-8
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var points = image.findColorEx("0xCDD7E9-0x101010", 0.9, 0, 0, 0, 0, 10,1); logd("points "+points); } main();

image.findColorExJ()

当前屏幕中找到颜色和color完全相等的点,参数从JSON中获取
如果没有找到,则返回null。

@param jsonFileName res文件中取色工具生成的JSON文件,只要填写文件名称即可,后缀不用填写
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var points = image.findColorExJ("金币"); logd("points "+points); } main();

image.findMultiColor()

多点找色,找到所有符合标准的点,类似于按键精灵的多点找色。

@param image 要找色的图片
@param firstColor 第一个点的颜色
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param points 字符串类似这样 6|1|0x969696-0x000010,1|12|0x969696,-4|0|0x969696
@param x 区域的X起始坐标
@param y 区域的Y起始坐标
@param ex 终点X坐标
@param ey 终点Y坐标
@param limit 限制个数
@param orz 方向,分别从1-8
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var aimage = image.captureFullScreen(); if (aimage != null) { var points = image.findMultiColor(aimage,"0xDD7A5F-0x101010", "29|25|0xBB454B-0x101010,58|44|0xA6363A-0x101010", 0.9, 0, 0, 0, 0, 10,1); logd("points "+points); } } main();

image.findMultiColorJ()

多点找色,找到所有符合标准的点,参数从JSON文件中读取,类似于按键精灵的多点找色

@param image 要找色的图片
@param jsonFileName res文件中取色工具生成的JSON文件,只要填写文件名称即可,后缀不用填写
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var aimage = image.captureFullScreen(); if (aimage != null) { var points = image.findMultiColorJ(aimage,"金币"); logd("points "+points); } } main();

image.findMultiColorEx()

多点找色,找到所有符合标准的点,类似于按键精灵的多点找色。

@param firstColor 第一个点的颜色
@param threshold 找色时颜色相似度取值为 0.0 ~ 1.0
@param points 字符串类似这样 6|1|0x969696-0x000010,1|12|0x969696,-4|0|0x969696
@param x 区域的X起始坐标
@param y 区域的Y起始坐标
@param ex 终点X坐标
@param ey 终点Y坐标
@param limit 限制个数
@param orz 方向,分别从1-8
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var points = image.findMultiColorEx("0xDD7A5F-0x101010", "29|25|0xBB454B-0x101010,58|44|0xA6363A-0x101010", 0.9, 0, 0, 0, 0, 10,1); logd("points "+points); } main();

image.findMultiColorExJ()

多点找色,找到所有符合标准的点,自动抓取当前屏幕的图片,参数从JSON文件中读取,类似于按键精灵的多点找色

@param jsonFileName res文件中取色工具生成的JSON文件,只要填写文件名称即可,后缀不用填写
@return 多个Point 坐标点数组或者null

function main() { var req = image.requestScreenCapture(10000,0); if (!req) { req = image.requestScreenCapture(10000,0); } if (!req) { toast("申请权限失败"); return; } var points = image.findMultiColorExJ("金币"); logd("points "+points); } main();

image.pixelInImage()

返回图片image在点(x, y)处的像素的ARGB值。
该值的格式为0xAARRGGBB,是一个"32位整数"
坐标系以图片左上角为原点。以图片左侧边为y轴,上侧边为x轴。

@param image 图片
@param x 要获取的像素的横坐标。
@param y 要获取的像素的纵坐标。
@return 整型

function main() { var imageX = image.captureFullScreen(); var color = image.pixelInImage(imageX,100,100); } main();

image.getPixelBitmap()

取得Bitmap图片的某个点的颜色值

@param bitmap 图片对象
@param x x坐标点
@param y y坐标点
@return int 颜色值

function main() { var bitmap = image.captureScreenBitmap("jpg",800,800,100,100,100); var color = image.getPixelBitmap(bitmap,100,100); } main();

image.getPixelsBitmap()

取得Bitmap图片的某个区域点的颜色值,等同于 Bitmap.getPixels

@param bitmap 图片对象
@param arraySize 要返回的区域数组的大小
@param offset 写入到pixels[]中的第一个像素索引值
@param stride pixels[]中的行间距个数值(必须大于等于位图宽度)。可以为负数
@param x  从位图中读取的第一个像素的x坐标值。
@param y 从位图中读取的第一个像素的y坐标值
@param width   从每一行中读取的像素宽度
@param height    读取的行数
@return int 颜色值数组

function main() { var bitmap = image.captureScreenBitmap("jpg",800,800,100,100,100); var w = bitmap.getWidth(); var h =bitmap.getHeight(); var mPixels = image.getPixelsBitmap(bitmap,w*h, 0, w, 0, 0,w, h); } main();