本课视频教程封装的命令有:FindPic、FindPicE、FindPicEx、FindPicExS、 FindPicMem、 FindPicMemE、FindPicMemEx、FindPicS、FindShape、FindShapeE、FindShapeEx、FreePic;并对找图命令采用《剑侠情缘》做了实例测试。
找图类模块源码:
.版本 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遇见大漠模块制作-29-找图FindPic
优酷全部教程播单:http://i.youku.com/i/UNTU3NDYyODg0/playlists
交流群:521068947
本人QQ: 272586593