admin 管理员组

文章数量: 1087135


2024年3月21日发(作者:网页布局结构图)

函数说明:

ormWindow(窗口句柄)

功能:转换窗口,对要取后台图色数据的窗口使用该函数后才能取后台图色数据。如

果是DX图形绘图的窗口,DX绘图区域必须有部分移到屏幕外,否则无法使用。转换窗口

后,有些窗口(特别是大多数游戏的)要等待一会儿才能用其它函数可靠地取到后台图色

数据,等待的时间要大于画面两次刷新的时间间隔。转换后到取消转换前,可以无限次使

用取到后台图色数据的命令,即通常只需要转换一次。

参数:

1)窗口句柄:整型数。

sformWindow(窗口句柄)

功能:取消窗口转换,DX图形绘图的窗口,用过TransformWindow后,必须用

UnTransformWindow取消窗口转换才能让DX绘图完全移到屏幕中,否则后很严重(不

会损坏电脑的),自己试下就知道了。

参数:

1)窗口句柄:整型数。

elColor(窗口句柄,横坐标,纵坐标)[颜色值]

功能:获得指定点的颜色

参数:

1)窗口句柄:整型数。

2)横坐标:整型数,窗口客户区坐标。

3)纵坐标:整型数,窗口客户区坐标。

返回值:

颜色值:整型数。

例子:

Plugin hwnd=ound()

Plugin (hwnd,-30,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin color=BGCP2_elColor(hwnd,0,0)

MsgBox CStr(Hex(color)),4096,"颜色"

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

or(窗口句柄,横坐标,纵坐标,颜色,颜色最大偏差)[是否满足条件]

功能:判断指定点的颜色,后台的IfColor

参数:

1)窗口句柄:整型数。

2)横坐标:整型数,窗口客户区坐标。

3)纵坐标:整型数,窗口客户区坐标。

4)颜色:整型数。

5)颜色最大偏差:整型数。游戏中不同电脑上显示的颜色会有点偏差,这个参数用于

兼容这种情况,它设置的是RGB各颜色分量偏差的最大允许值,取值范围是0-255,0是

无颜色偏差。

返回值:

是否满足条件:布尔值,布尔值是用来表达是真是假的,指定点的颜色满足条件就返

回真,否则返回假。

例子:

Import "BGCP2_"

Plugin hwnd=ound()

Plugin (hwnd,-30,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin tj=BGCP2_or(hwnd,6,5,&HFF7F00,30)

If tj=true

MsgBox "满足条件",4096

Else

MsgBox "不满足条件",4096

EndIf

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

lor(窗口句柄,左边界,上边界,右边界,下边界,颜色,颜色最大偏差,查找方式,

横坐标,纵坐标)

功能:找色

参数:

1)窗口句柄:整型数。

2)左边界,整型数,用于设置找色范围,找色区域左上角的横坐标(窗口客户区坐标)。

3)上边界,整型数,用于设置找色范围,找色区域左上角的纵坐标(窗口客户区坐标)。

4)右边界,整型数,用于设置找色范围,找色区域右下角的横坐标(窗口客户区坐标)。

5)下边界,整型数,用于设置找色范围,找色区域右下角的纵坐标(窗口客户区坐标)。

6)颜色:整型数。

7)颜色最大偏差:整型数。游戏中不同电脑上显示的颜色会有点偏差,这个参数用于

兼容这种情况,它设置的是RGB各颜色分量偏差的最大允许值,取值范围是0-255,0是

无颜色偏差。

8)查找方式:整型数,用于设置找色时扫描的顺序。可取如下值:

0:从上到下,每行从左到右

1:从上到下,每行从右到左

2:从下到上,每行从左到右

3:从下到上,每行从右到左

4:从左到右,每列从上到下

5:从左到右,每列从下到上

6:从右到左,每列从上到下

7:从右到左,每列从下到上

8:从中间开始找色

9)横坐标,整型数,用于***找到的颜色的横坐标(窗口客户区坐标),找不到时此值

是-1。

10)纵坐标,整型数,用于***找到的颜色的纵坐标(窗口客户区坐标),找不到时此值

是-1。

例子:

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin BGCP2_lor(hwnd,0,0,800,600,&H59A508,20,0,x,y)

MsgBox "坐标:"&CStr(x)&","&CStr(y),4096

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

P(文件名组)[数据句柄数组]

功能:载入BMP文件数据。载入BMP图片文件的数据到内存,可以同时载入多个文

件,要求图片格式是24位BMP文件,找图前使用该命令,在脚本中运行一次该命令即可。

参数:

1)文件名组:字符串或数组,由于一次载入多个BMP文件,所以称为文件名组。如果

一次只载入一个BMP文件,此处参数填写该BMP文件路径即可。如果一次载入多个BMP

文件,可以使用两种形式:

字符串形式:各文件路径用“|”号隔开,例如:图片1文件路径|图片2文件路径|图

片3文件路径。

数组形式:支持用文件路径名构成的一维数组做参数。

返回值:

数据句柄数组:成功时返回的是一个一维的整数数组,失败时返回的是个整数(错误

代码)。每个BMP文件载入内存后都将获得一个对应的数据句柄,这个句柄将作为找图命

令的参数。一次载入多个BMP文件,将同时获得多个数据句柄,数据句柄数组里存放的

就是这些数据句柄。数据句柄在数组中的排列顺序和文件名组中对应的图片的顺序相同。

P(数据句柄数组)

功能:卸载BMP文件数据。释放用LoadBMP命令载入到内存中的图片数据。

参数:

1)数据句柄数组:和LoadBMP命令中的意义相同,直接使用LoadBMP命令的返回

值作为该参数即可,如果使用了N次LoadBMP命令,FreeBMP命令也必须使用N次,

LoadBMP和FreeBMP配对使用。

cture(窗口句柄,左边界,上边界,右边界,下边界,数据句柄或图片文件路径,颜

色最大偏差,相似度,横坐标,纵坐标)

功能:范围找图,获得找到的第一个坐标。用于找图的图片四角的颜色相同时,被该

颜色被视为透明色,找图顺序和按键精灵相同。

参数:

1)窗口句柄:整型数,每个窗口都有一个窗口句柄,不同窗口的窗口句柄不同,即使

是同一个程序多开时,它们的窗口句柄也不相同,所以可以用窗口句柄来确定是哪个窗口。

当要进行全屏找图时,窗口句柄取0。

2)左边界,上边界,右边界,下边界:整型数,左边界和上边界分别是是待找图区域左上角

的横坐标和纵坐标,右边界和下边界分别是是待找图区域右下角的横坐标和纵坐标,如果

窗口句柄不为0,这里的坐标是窗口坐标,如果窗口句柄为0,这里的坐标是屏幕坐标。

3)数据句柄或图片文件路径:数据句柄在LoadBMP命令的数据句柄组里已经解释过

了;图片文件路径,字符串,要求图片格式是24位BMP文件。

4)颜色最大偏差:整型数,指的是颜色的最大允许偏差,用于解决在不同电脑上的颜

色偏差问题。取值范围是0到255,取0时颜色不允许有偏差。

5)相似度:浮点数,表示不满足条件的点所允许占的比例。取值为0到1之间的小数,

1为最相似,相似度越高找图速度越快。

6)横坐标,纵坐标:整型数,此处用变量作为参数,用于***找到的图形的横坐标和纵坐

标,未找到时横坐标和纵坐标都为-1。

例子1:

Plugin HandleArray=BGCP2_P("图")

//IsArray函数用于判断HandleArray是否是数组

If IsArray(HandleArray)=False

MsgBox "载入图片失败",4096

EndScript

EndIf

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin BGCP2_cture(hwnd,0,0,800,600,HandleArray(0),30,0.9,x,y)

If x>=0 And y>=0

MsgBox "坐标:"&CStr(x)&","&CStr(y),4096

Else

MsgBox "未找到图形",4096

EndIf

EndScript

//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热

键,它也会执行了这个过程再停止,这样能保证占用的资源被释放

Sub OnScriptExit

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

//释放用LoadBMP命令载入到内存中的图片数据

Plugin BGCP2_P(HandleArray)

Return

例子2:

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin BGCP2_cture(hwnd,0,0,800,600,"图",30,0.9,x,y)

If x>=0 And y>=0

MsgBox "坐标:"&CStr(x)&","&CStr(y),4096

Else

MsgBox "未找到图形",4096

EndIf

EndScript

//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热

键,它也会执行了这个过程再停止,这样能保证占用的资源被释放

Sub OnScriptExit

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

Return

ctureA(窗口句柄,左边界,上边界,右边界,下边界,数据句柄或图片文件路径,

颜色最大偏差,相似度)[横坐标和纵坐标构成的二维数组]

功能:范围找图,获得找到的所有坐标。用于找图的图片四角的颜色相同时,被该颜色

被视为透明色,找图顺序和按键精灵相同。

参数:

1)窗口句柄、左边界、上边界、右边界、下边界、数据句柄或图片文件路径、颜色最

大偏差、相似度:与FindPicture函数的解释相同。

返回值:

横坐标和纵坐标构成的二维数组:找到图时返回的是一个二维数组,第一维大小是两

个元素,分别存放横坐标和纵坐标的数值。未找到图时返回的是整数0。

例子:

Plugin HandleArray=BGCP2_P("||")

//IsArray函数用于判断HandleArray是否是数组

If IsArray(HandleArray)=False

MsgBox "载入图片失败",4096

EndScript

EndIf

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin

XYArray=BGCP2_ctureA(hwnd,0,0,1024,768,HandleArray(0),30,0.9)

If IsArray(XYArray)

n=UBound(XYArray,2)+1

MsgBox "已找到"&CStr(n)&"个",4096

i=0

str=""

For n

If i

str=str&vbCrLf&CStr(XYArray(0,i))&","&CStr(XYArray(1,i))

Else

str=CStr(XYArray(0,i))&","&CStr(XYArray(1,i))

EndIf

i=i+1

EndFor

MsgBox str,4096,"坐标"

Else

MsgBox "未找到图形",4096

EndIf

EndScript

//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热

键,它也会执行了这个过程再停止,这样能保证占用的资源被释放

Sub OnScriptExit

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

//释放用LoadBMP命令载入到内存中的图片数据

Plugin BGCP2_P(HandleArray)

Return

ctureN(窗口句柄,左边界,上边界,右边界,下边界,数据句柄数组,颜色最大偏

差,相似度,横坐标,纵坐标,图片序号)

功能:范围找多图,获得找到的第一个坐标。用于找图的图片四角的颜色相同时,被该

颜色被视为透明色,找图顺序和按键精灵相同。

参数:

1)窗口句柄、左边界、上边界、右边界、下边界、颜色最大偏差、相似度、横坐标、

纵坐标:与FindPicture函数的解释相同。

2)数据句柄数组:一维数组,这个在LoadBMP命令的数据句柄组里已经解释过了。

3)图片序号:整型数,此处用变量作为参数,用于表示找到的是哪个图,未找到时为

-1。

例子:

FileArray=Array("","","","")

//用文件名组成的数组做参数

Plugin HandleArray=BGCP2_P(FileArray)

If IsArray(HandleArray)=False

MsgBox "载入图片失败!",4096

EndScript

EndIf

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin

BGCP2_ctureN(hwnd,0,0,1024,768,HandleArray,30,0.9,x,y,number)

If x>=0 And y>=0 And number>=0

MsgBox "坐标:"&CStr(x)&","&CStr(y)&" 图片:"&FileArray(number),4096

Else

MsgBox "未找到图形",4096

EndIf

EndScript

//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热

键,它也会执行了这个过程再停止,这样能保证占用的资源被释放

Sub OnScriptExit

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

//释放用LoadBMP命令载入到内存中的图片数据

Plugin BGCP2_P(HandleArray)

Return

ctureNA(窗口句柄,左边界,上边界,右边界,下边界,数据句柄数组,颜色最大

偏差,相似度)[横坐标和纵坐标构成的二维数组]

功能:范围找多图,获得找到的所有坐标。用于找图的图片四角的颜色相同时,被该颜

色被视为透明色,找图顺序和按键精灵相同。

参数:

1)窗口句柄、左边界、上边界、右边界、下边界、数据句柄数组、颜色最大偏差、相

似度:与FindPictureN函数的解释相同。

返回值:

横坐标和纵坐标构成的二维数组:第一维大小是三个元素,分别存放横坐标、纵坐标

和图片序号的数值。未找到图时返回的是整数0。

例子:

Dim FileArray(2)

FileArray(0)=""

FileArray(1)=""

FileArray(2)=""

Plugin HandleArray=BGCP2_P(FileArray)

//IsArray函数用于判断HandleArray是否是数组

If IsArray(HandleArray)=False

MsgBox "载入图片失败",4096

EndScript

EndIf

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin

XYArray=BGCP2_ctureNA(hwnd,0,0,1024,768,HandleArray,30,0.9)

If IsArray(XYArray)

n=UBound(XYArray,2)+1

MsgBox "已找到"&CStr(n)&"个",4096

i=0

str=""

For n

If i

str=str&vbCrLf&CStr(XYArray(0,i))&","&CStr(XYArray(1,i))&","&FileArray

(XYArray(2,i))

Else

str=CStr(XYArray(0,i))&","&CStr(XYArray(1,i))&","&FileArray(XYArray(2,i))

EndIf

i=i+1

EndFor

MsgBox str,4096,"坐标"

Else

MsgBox "未找到图形",4096

EndIf

EndScript

//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热

键,它也会执行了这个过程再停止,这样能保证占用的资源被释放

Sub OnScriptExit

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

//释放用LoadBMP命令载入到内存中的图片数据

Plugin BGCP2_P(HandleArray)

Return

cture(窗口句柄,左边界,上边界,右边界,下边界,文件路径)

功能:范围截图,保存图片为24位BMP图片。

参数:

1)窗口句柄、左边界、上边界、右边界、下边界:与FindColor函数的解释相同。

2)文件路径:字符串,保存图片的文件路径。

例子:

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin BGCP2_cture(hwnd,0,0,800,600,"C:图片")

//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热

键,它也会执行了这个过程再停止,这样能保证占用的资源被释放

Sub OnScriptExit

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

Return

orStateRgn(窗口句柄,左边界,上边界,右边界,下边界,颜色,颜色最大偏差,

方式)[特征字符串]

功能:范围取颜色特征,扫描区域内所有的点,和指定的颜色对比,符合条件的为1,

不符合条件的为0,以字符串形式返回。

参数:

1)窗口句柄、左边界、上边界、右边界、下边界、颜色、颜色最大偏差:与FindColor

函数的解释相同。

2)方式:整型数,可取值如下:

1:纵向扫描,纵向从上到下按列从左到右扫描;不取1时为横向扫描,横向从左到右

按行从上到下扫描。

256:返回的字符串为按十六进制字符串的形式表示;不取256时返回的字符串按二进

制字符串的形式表示。

取值可叠加使用,也就是做或运算,做加法也可。

返回值:

特征字符串:字符串,二进制字符串或十六进制字符串,具体的见参数中方式的说明。

例子:

Plugin hwnd=ound()

Plugin (hwnd,-500,10)

Plugin BGCP2_ormWindow(hwnd)

Delay 200

Plugin str=BGCP2_orStateRgn(hwnd,16,8,20,11,&HC0C0C0,30,0)

MsgBox str

Plugin str=BGCP2_orStateRgn(hwnd,16,8,20,11,&HC0C0C0,30,1)

MsgBox str

Plugin str=BGCP2_orStateRgn(hwnd,16,8,20,11,&HC0C0C0,30,256)

MsgBox str

Plugin

str=BGCP2_orStateRgn(hwnd,16,8,20,11,&HC0C0C0,30,1+256)

MsgBox str

//OnScriptExit过程在脚本结束时执行,即使脚本执行到一半的时候,你按了停止热

键,它也会执行了这个过程再停止,这样能保证占用的资源被释放

Sub OnScriptExit

Plugin BGCP2_sformWindow(hwnd)

Plugin (hwnd,10,10)

Return

55555555555555555550000000


本文标签: 颜色 数据 图片 句柄 边界