在图片上多点找色(:findColors)
函数
找色结果 = 图片对象:findColors(颜色值数组,[相似度 或色偏值] ,[是否匹配多个目标] ,[开始横坐标
,开始纵坐标 ,结束横坐标 ,结束纵坐标])
参数
-
颜色值数组 数组型
-
相似度 数组型
可选 默认 90
这个参数 可以是色偏值
-
是否匹配多个目标 文本型
可选 默认 nil
参数的固定文本为 "find_all"
-
开始横坐标 整数型
可选 默认 0
-
开始纵坐标 整数型
可选 默认 0
-
结束横坐标 整数型
可选 默认 图片宽度
-
结束纵坐标 整数型
可选 默认 图片高度
返回值
-
横坐标 整数型
成功返回 横坐标 失败返回 -1
-
纵坐标 整数型
成功返回 纵坐标 失败返回 -1
-
"find_all" 数组型
当参数 "find_all" 存在时 返回数组型的 坐标数组
说明
用于在图片上 范围查找 对应的颜色值数组
示例
简单的示例 相似度模式
local img = screen.image()
local x, y = img:findColors({
{ 123, 177, 0x030712 },
{ 157, 96, 0xFD6303 },
{ 242, 196, 0x062C50 },
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,95)
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例 色偏模式
local x, y = img:findColors({
{ 123, 177, 0x030712 },
{ 157, 96, 0xFD6303 },
{ 242, 196, 0x062C50 },
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020)
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例
local x, y = img:findColors({
{ 123, 177, 0x030712 , 80 }, --设置这个点的 相似度为 80
{ 157, 96, 0xFD6303 , 0x202020}, --设置这个点的色偏模式
{ 242, 196, 0x062C50 }, --以下使用色偏模式 值为 0x202020
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020)
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例
local x, y = img:findColors({
{ 123, 177, 0x030712 , 80 }, --设置这个点的 相似度为 80
{ 157, 96, 0xFD6303 , 0x202020}, --设置这个点的色偏模式
{ 242, 196, 0x062C50 }, --以下使用色偏模式 值为 0x202020
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020 , 100,100,300,300) --设置多点找色区域为 起始点 100,100 结束点 300,300
if (x ~= -1 and y ~= -1) then
print(string.format("成功找到坐标 x = %d ,y = %d" , x ,y))
end
简单的示例 匹配多个结果
local result = img:findColors({
{ 123, 177, 0x030712 , 80 }, --设置这个点的 相似度为 80
{ 157, 96, 0xFD6303 , 0x202020}, --设置这个点的色偏模式
{ 242, 196, 0x062C50 }, --以下使用色偏模式 值为 0x202020
{ 126, 211, 0x011D32 },
{ 47, 138, 0x1C395B },
{ 80, 112, 0x092D4D },
} ,0x202020 , "find_all" ,100,100,300,300) --设置多点找色区域为 起始点 100,100 结束点 300,300
for k ,v in pairs(result) do
print(string.format("第 %d 个结果 x = %d, y = %d" ,k ,v[1] ,v[2]))
end