找色/比色
# 比色
## 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代表未找到
```javascript
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代表未找到
```javascript
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,说明都没有找到
```javascript
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,说明都没有找到
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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
```javascript
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 整型
```javascript
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 颜色值
```javascript
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 颜色值数组
```javascript
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();
```