颜色插件.png

ColorToRGB 颜色转RGB

参数1 字符串型,16进制颜色值

参数2 整数型,返回10进制R分量

参数3 整数型,返回10进制G分量

参数4 整数型,返回10进制B分量

//下面这句是把16进制颜色("0000FF")转换分解到10进制(R:R, G:G, B:B)分量中

Call Plugin.Color.ColorToRGB("ffffFF", R, G, B)

TracePrint R & " " & G & " " & B


GetRGB 得到RGB分量合并值

参数1 整数型,10进制R分量

参数2 整数型,10进制G分量

参数3 整数型,10进制B分量

返回值:字符串型,16进制颜色值

//下面这句是把10进制(R:255, G:0, B:0)分量合并到16进制颜色值变量(Color)中

Color = Plugin.Color.GetRGB(255, 0, 0)

msgbox "得到16进制颜色值:" & color


ColorToHSL 颜色转HSL

参数1 字符串型,16进制颜色值

参数2 整数型,返回10进制H分量

参数3 整数型,返回10进制S分量

参数4 整数型,返回10进制L分量

//色调(H)、饱和度(S)、亮度(L)

//下面这句是把16进制颜色("0000FF")转换分解到10进制(H:H, S:S, L:L)分量中

Call Plugin.Color.ColorToHSL("0000FF", H, S, L)

msgbox H &"  " & S &"  " & L


CountColor 区域搜索颜色数量

参数1 整数型,屏幕左上角X坐标

参数2 整数型,屏幕左上角Y坐标

参数3 整数型,屏幕右下角X坐标

参数4 整数型,屏幕右下角Y坐标

参数5 字符串型,16进制颜色值

参数6 整数型,相似度

返回值:整数型,颜色数量

//下面这句在屏幕区域范围内查找16进制颜色("0000FF")的数量

NUM = Plugin.Color.CountColor(0, 0, 1024, 768, "FFFFFF",1)

msgbox "颜色(""FFFFFF"")的数量=" & NUM


FindMultiColor 区域多点找色

参数1 整数型,屏幕左上角X坐标

参数2 整数型,屏幕左上角Y坐标

参数3 整数型,屏幕右下角X坐标

参数4 整数型,屏幕右下角Y坐标

参数5 字符串型,第一点16进制颜色值

参数6 字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)

参数7 整数型,相似度

返回值:字符串型,左上角第一点颜色位置坐标

//下面这句在屏幕区域范围内查找多点颜色,返回左上角第一点颜色位置坐标

XY = Plugin.Color.FindMutiColor(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-3|3|FFFFFF,0|3|FFFFFF,4|3|FFFFFF,-1|5|FFFFFF,3|5|FFFFFF,-3|6|FFFFFF,-6|7|FFFFFF,1|8|FFFFFF,4|8|FFFFFF,-5|10|FFFFFF,-3|10|FFFFFF,4|10|FFFFFF", 1)

//下面这句用于分割字符串

ZB = InStr(XY, "|")

//下面这句将字符串转换成数值

X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))

msgbox "屏幕多点找色功能:找屏幕""我""字位置位:" & X&","&Y


FindMultiColorEx 区域多点找色(增强)

参数1 整数型,屏幕左上角X坐标

参数2 整数型,屏幕左上角Y坐标

参数3 整数型,屏幕右下角X坐标

参数4 整数型,屏幕右下角Y坐标

参数5 字符串型,第一点16进制颜色值

参数6 字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)

参数7 整数型,相似度

参数8 整数型,查找方式(0:从右下往左上查找,1:从左上往右下查找)

返回值:字符串型,左上角第一点颜色位置坐标

//下面这句在屏幕区域范围内按方式0,查找多点颜色,返回左上角第一点颜色位置坐标

XY = Plugin.Color.FindMutiColorEx(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF,-3|1|FFFFFF,-6|3|FFFFFF,-3|3|FFFFFF,0|3|FFFFFF,4|3|FFFFFF,-1|5|FFFFFF,3|5|FFFFFF,-3|6|FFFFFF,-6|7|FFFFFF,1|8|FFFFFF,4|8|FFFFFF,-5|10|FFFFFF,-3|10|FFFFFF,4|10|FFFFFF", 1, 0)

//下面这句用于分割字符串

ZB = InStr(XY, "|")

//下面这句将字符串转换成数值

X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))

msgbox "屏幕多点找色功能:找屏幕""我""字位置位:" & X&","&Y


FindShape 区域多点找形状

参数1 整数型,屏幕左上角X坐标

参数2 整数型,屏幕左上角Y坐标

参数3 整数型,屏幕右下角X坐标

参数4 整数型,屏幕右下角Y坐标

参数5 字符串型,符合偏移形状组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|条件)

参数6 整数型,相似度

返回值:字符串型,左上角第一点位置坐标

//条件:0=不等,1=等于

//下面这句在屏幕区域范围内查找图形形状,返回左上角第一点坐标位置

XY = Plugin.Color.FindShape(0, 0, 1024, 768, "2|0|1,4|0|1,6|0|0,-4|1|1,-1|1|1,5|1|1,-4|3|1,-1|3|1,2|3|1,6|3|1,-4|5|0,2|5|1,5|5|1,-1|6|1,6|6|0,-4|7|1,3|8|1,6|8|1,-4|10|0,-3|10|1,-1|10|1,2|10|0,6|10|1", 1)

//下面这句用于分割字符串

ZB = InStr(XY, "|")

//下面这句将字符串转换成数值

X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))

msgbox "屏幕找图形形状功能:找屏幕""我""字位置位:" & X&","&Y


GetPixelColor 得到指定点颜色

参数1 整数型,屏幕X坐标

参数2 整数型,屏幕Y坐标

参数3 整数型,取色模式(0标准窗口/1透明窗口)

返回值:字符串型,得到的颜色16进制值

//取色模式(0标准窗口/1透明窗口)

GetCursorPos x,y

cr1=Plugin.Color.GetPixelColor(x,y,1)

MessageBox cr1

//得到当前点的颜色,并弹出对话框显示出来


FindColor 区域找色(支持透明窗口)

参数1,整数型:区域左上角X坐标

参数2,整数型:区域左上角Y坐标

参数3,整数型:区域右下角X坐标

参数4,整数型:区域右下角Y坐标

参数5,字符串型:16进制颜色值

参数6,整数型:查找方向

参数7,整数型:相似度

返回值:字符串型:返回找到的坐标(X坐标|Y坐标)

iCoord = Plugin.Color.FindColor(0,0,1024,768, "0000FF",  0, 1.0)

XY = Split(iCoord,"|")

TracePrint XY(0)

TracePrint XY(1)

//查找方向

//0: 从左到右,从上到下

//1: 从左到右,从下到上

//2: 从右到左,从上到下

//3: 从右到左,从下到上

//失败返回:-1|-1


FindColorBlock 区域找色块

参数1,整数型:区域左上角X坐标

参数2,整数型:区域左上角Y坐标

参数3,整数型:区域右下角X坐标

参数4,整数型:区域右下角Y坐标

参数5,字符串型:16进制颜色值

参数6,整数型:颜色块宽度

参数7,整数型:颜色块高度

参数8,整数型:查找方向

参数9,整数型:颜色相似度

返回值:字符串型:返回找到的坐标(X坐标|Y坐标)

iCoord = Plugin.Color.FindColorBlock(0,0,1024,768,"0000FF",5, 5, 0, 1.0)

XY = Split(iCoord,"|")

TracePrint XY(0)

TracePrint XY(1)

//查找一种只有单纯一种颜色的矩形块。

//查找方向:

//0: 从左到右,从上到下

//1: 从左到右,从下到上

//2: 从右到左,从上到下

//3: 从右到左,从下到上

//失败返回:-1|-1


CountBlockNum 统计区域色块数量

参数1,整数型:区域左上角X坐标

参数2,整数型:区域左上角Y坐标

参数3,整数型:区域右下角X坐标

参数4,整数型:区域右下角Y坐标

参数5,字符串型:16进制颜色值

参数6,整数型:颜色相似度

返回值:整数型:颜色块数量

//色块可以是不规则的或者是连续体的颜色。

iNum = Plugin.Color.CountBlockNum(0,0,100,100,"0000FF",1.0)

//失败返回:0


GetBlockRange 获取每个色块的坐标范围

参数1,整数型:区域左上角X坐标

参数2,整数型:区域左上角Y坐标

参数3,整数型:区域右下角X坐标

参数4,整数型:区域右下角Y坐标

参数5,字符串型:16进制颜色值

参数6,整数型:颜色相似度

返回值:字符串型:每个色块坐标范围(X坐标,Y坐标,宽,高|X坐标,Y坐标,宽,高|...)

iNum = Plugin.Color.GetBlockRange(0,0,100,100,"0000FF",1.0)

iBlock = Split(iNum,"|")

For n = 0 To Ubound(iBlock)

iRange = Split(iBlock(n), ",")

For i = 0 To Ubound(iRange)

TracePrint iRange(i)

Next

Next

//色块可以是不规则的或者是连续体的颜色。

//失败返回:-1,-1,-1,-1


IsDisplayDead 检测屏幕颜色变化区域

判断指定的区域,在指定的时间内(毫秒),区域颜色是否一直不变。(卡屏)

参数1,整数型:区域左上角X坐标

参数2,整数型:区域左上角Y坐标

参数3,整数型:区域右下角X坐标

参数4,整数型:区域右下角Y坐标

参数5,整数型:需要等待的时间,单位是毫秒

返回值:布尔型:是True/否Flase

iDead = Plugin.Color.IsDisplayDead(0,0,100,100,3000)

TracePrint iDead

//1000毫秒 = 1秒