顏色插件.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秒