本课视频教程封装的命令有:FindPic、FindPicE、FindPicEx、FindPicExS、 FindPicMem、 FindPicMemE、FindPicMemEx、FindPicS、FindShape、FindShapeE、FindShapeEx、FreePic;并对找图命令采用《剑侠情缘》做了实例测试。
教程视频链接
511遇见大漠模块制作
找图类模块源码:
.版本 2
.子程序 FindPic, 整数型, 公开, 查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.这个函数可以查找多个图片,只返回第一个找到的X Y坐标.返回值:(返回找到的图片的序号,从0开始索引.如果没找到返回-1)
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_name, 文本型, , pic_name 字符串:图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"
.参数 delta_color, 文本型, , elta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
.参数 intX, 整数型, 参考, intX 变参指针:返回图片左上角的X坐标
.参数 intY, 整数型, 参考, intY 变参指针:返回图片左上角的Y坐标
返回 (obj.数值方法 (“FindPic”, x1, y1, x2, y2, pic_name, delta_color, sim, dir, intX, intY))
.子程序 FindPicE, 文本型, 公开, 查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.这个函数可以查找多个图片,只返回第一个找到的X Y坐标.返回值:(返回找到的图片序号(从0开始索引)以及X和Y坐标 形式如"index|x|y", 比如"3|100|200")
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_name, 文本型, , pic_name 字符串:图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"
.参数 delta_color, 文本型, , elta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
返回 (obj.文本方法 (“FindPicE”, x1, y1, x2, y2, pic_name, delta_color, sim, dir))
.子程序 FindPicEx, 文本型, 公开, 查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.这个函数可以查找多个图片,这个函数可以查找多个图片,并且返回所有找到的图像的坐标.返回值:(返回的是所有找到的坐标格式如下:"id,x,y|id,x,y..|id,x,y" (图片左上角的坐标))
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_name, 文本型, , pic_name 字符串:图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"
.参数 delta_color, 文本型, , elta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
返回 (obj.文本方法 (“FindPicEx”, x1, y1, x2, y2, pic_name, delta_color, sim, dir))
.子程序 FindPicExS, 文本型, 公开, 查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.这个函数可以查找多个图片,这个函数可以查找多个图片,并且返回所有找到的图像的坐标.返回值:(返回的是所有找到的坐标格式如下:"file,x,y| file,x,y..| file,x,y" (图片左上角的坐标))
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_name, 文本型, , pic_name 字符串:图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"
.参数 delta_color, 文本型, , elta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
返回 (obj.文本方法 (“FindPicExS”, x1, y1, x2, y2, pic_name, delta_color, sim, dir))
.子程序 FindPicMem, 整数型, 公开, 位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理;这个函数可以查找多个图片,只返回第一个找到的X Y坐标. 这个函数要求图片是数据地址.返回值(返回找到的图片的序号,从0开始索引.如果没找到返回-1)
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_info, 文本型, , 图片数据地址集合. 格式为"地址1,长度1|地址2,长度2.....|地址n,长度n". 可以用AppendPicAddr来组合.地址表示24位位图资源在内存中的首地址,用十进制的数值表示
.参数 delta_color, 文本型, , delta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
.参数 intX, 整数型, 参考, intX 变参指针:返回图片左上角的X坐标
.参数 intY, 整数型, 参考, intY 变参指针:返回图片左上角的Y坐标
返回 (obj.数值方法 (“FindPicMem”, x1, y1, x2, y2, pic_info, delta_color, sim, dir, intX, intY))
.子程序 FindPicMemE, 文本型, 公开, 易语言用不了FindPicMem可以用此接口来代替;位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理;这个函数可以查找多个图片,只返回第一个找到的X Y坐标. 这个函数要求图片是数据地址.返回值(返回找到的图片序号(从0开始索引)以及X和Y坐标 形式如"index|x|y", 比如"3|100|200")
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_info, 文本型, , 图片数据地址集合. 格式为"地址1,长度1|地址2,长度2.....|地址n,长度n". 可以用AppendPicAddr来组合.地址表示24位位图资源在内存中的首地址,用十进制的数值表示
.参数 delta_color, 文本型, , delta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
返回 (obj.文本方法 (“FindPicMemE”, x1, y1, x2, y2, pic_info, delta_color, sim, dir))
.子程序 FindPicMemEx, 文本型, 公开, 易语言用不了FindPicMem可以用此接口来代替;位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理;这个函数可以查找多个图片,只返回第一个找到的X Y坐标. 这个函数要求图片是数据地址.返回值(返回的是所有找到的坐标格式如下:"id,x,y|id,x,y..|id,x,y" (图片左上角的坐标))
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_info, 文本型, , 图片数据地址集合. 格式为"地址1,长度1|地址2,长度2.....|地址n,长度n". 可以用AppendPicAddr来组合.地址表示24位位图资源在内存中的首地址,用十进制的数值表示
.参数 delta_color, 文本型, , delta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
返回 (obj.文本方法 (“FindPicMemEx”, x1, y1, x2, y2, pic_info, delta_color, sim, dir))
.子程序 FindPicS, 文本型, 公开, 查找指定区域内的图片,位图必须是24位色格式,支持透明色,当图像上下左右4个顶点的颜色一样时,则这个颜色将作为透明色处理.这个函数可以查找多个图片,只返回第一个找到的X Y坐标.返回值:(返回找到的图片的文件名. 没找到返回长度为0的字符串.)
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 pic_name, 文本型, , pic_name 字符串:图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"
.参数 delta_color, 文本型, , elta_color 字符串:颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
.参数 intX, 整数型, 参考, intX 变参指针:返回图片左上角的X坐标
.参数 intY, 整数型, 参考, intY 变参指针:返回图片左上角的Y坐标
返回 (obj.文本方法 (“FindPicS”, x1, y1, x2, y2, pic_name, delta_color, sim, dir, intX, intY))
.子程序 FindShape, 整数型, 公开, 查找指定的形状. 形状的描述同按键的抓抓. 具体可以参考按键的抓抓.和按键的语法不同,需要用大漠综合工具的颜色转换.返回值:(0:没找到,1:找到)
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 offset_color, 文本型, , 坐标偏移描述 可以支持任意多个点 格式和按键自带的Color插件意义相同;格式为"x1|y1|e1,……xn|yn|en"比如"1|3|1,-5|-3|0"等任意组合都可以
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
.参数 intX, 整数型, 参考, intX 变参指针:返回图片左上角的X坐标
.参数 intY, 整数型, 参考, intY 变参指针:返回图片左上角的Y坐标
返回 (obj.数值方法 (“FindShape”, x1, y1, x2, y2, offset_color, sim, dir, intX, intY))
.子程序 FindShapeE, 文本型, 公开, 易语言用不了FindShape可以用此接口来代替,查找指定的形状. 形状的描述同按键的抓抓. 具体可以参考按键的抓抓.和按键的语法不同,需要用大漠综合工具的颜色转换.返回值:(返回X和Y坐标 形式如"x|y", 比如"100|200")
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 offset_color, 文本型, , 坐标偏移描述 可以支持任意多个点 格式和按键自带的Color插件意义相同;格式为"x1|y1|e1,……xn|yn|en"比如"1|3|1,-5|-3|0"等任意组合都可以
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
返回 (obj.文本方法 (“FindShapeE”, x1, y1, x2, y2, offset_color, sim, dir))
.子程序 FindShapeEx, 文本型, 公开, 易语言用不了FindShape可以用此接口来代替,查找指定的形状. 形状的描述同按键的抓抓. 具体可以参考按键的抓抓.和按键的语法不同,需要用大漠综合工具的颜色转换.返回值:(返回所有形状的坐标值,然后通过GetResultCount等接口来解析(由于内存限制,返回的坐标数量最多为1800个左右))
.参数 x1, 整数型, , x1 整形数:区域的左上X坐标
.参数 y1, 整数型, , y1 整形数:区域的左上Y坐标
.参数 x2, 整数型, , x2 整形数:区域的右下X坐标
.参数 y2, 整数型, , y2 整形数:区域的右下Y坐标
.参数 offset_color, 文本型, , 坐标偏移描述 可以支持任意多个点 格式和按键自带的Color插件意义相同;格式为"x1|y1|e1,……xn|yn|en"比如"1|3|1,-5|-3|0"等任意组合都可以
.参数 sim, 双精度小数型, , sim 双精度浮点数:相似度,取值范围0.1-1.0
.参数 dir, 整数型, , dir 整形数:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
返回 (obj.文本方法 (“FindShapeEx”, x1, y1, x2, y2, offset_color, sim, dir))
.子程序 , 整数型, 公开, 释放指定的图片,此函数不必要调用,除非你想节省内存.返回值:(0:失败;1:成功)
.参数 pic_name, 文本型, , pic_name 字符串: 文件名比如"1.bmp|2.bmp|3.bmp" 等,可以使用通配符,比如"*.bmp" 这个对应了所有的bmp文件;"a?c*.bmp" 这个代表了所有第一个字母是a 第三个字母是c 第二个字母任意的所有bmp文件;"abc???.bmp|1.bmp|aa??.bmp" 可以这样任意组合.
返回 (obj.数值方法 (“FreePic”, pic_name))
找图测试源码:
.版本 2
?
.子程序 _按钮5_被单击, , , FindPic
.局部变量 x, 整数型
.局部变量 y, 整数型
?
插件初始化 ()
SetPath (取运行目录 ())
绑定 ()
FindPic (0, 0, 2000, 2000, “text.bmp”, “000000”, 0.9, 0, x, y)
延时 (500)
MoveTo (x, y)
延时 (500)
LeftClick ()
UnBindWindow ()
源码:511遇见易语言大漠单多线程模块制作
? ? ? ? ??易语言封装免注册免查杀大漠模块命令教程
? ? ? ? ??易语言大漠模块制作教程找图FindPic