- 初中三年级
- 2220985
- 396
- 0
- 532 朵
- 2506 个
- 334 个
- 480
- 2013-10-27
|
1#
t
T
发表于 2014-10-20 14:53
|
|只看楼主
图片找图、图片二期处理
图片找图?啥是图片找图呢?之前小编在论坛上看到有童鞋纠结这么一个问题:
获取游戏里一个物品的截图,然后想和在电脑存放的一张没有打开的图片做匹配,如果截取的物品截图可以在电脑存放的图片里找到,就继续操作下一步。 |
哇塞~ 一听这个想法,我和我的小伙伴都惊呆了。好高端的样子,图片里找图,而且还是没打开的图片!小编惊呆之后又继续逛论坛,锵锵锵~就是那么巧,小编找到了图片找图的方法~
|
| 图片找图使用 【一只鱼】●图灵v1.1插件 ,只需要几行代码就能轻松解决图片找图的问题。 | 使用前准备 1 下载一只鱼插件,解压到任意路径 2 将解压后文件夹里的 FISH.dll 和 FISH.html 两个文件剪切到按键精灵安装目录下的plugin文件夹里。 3 打开按键精灵(如果复制文件到plugin文件夹里时按键精灵是开启状态,请关闭之后再开启)
| 需要用到的插件命令命令名称: | Bind 绑定 | 命令功能: | 绑定窗口句柄或BMP图片路径 | 命令参数: | 参数1:变体型,窗口句柄或路径图片 参数2:字符串型,绑定方式 | 返回值: | 无 |
命令名称: | FindPicture 区域找图 | 命令功能: | 区域找单张图片或者多张图片 | 命令参数: | 参数1:变体型,BMP图片路径 参数2:字符串型,查找方向 参数3:浮点型,颜色相似度 参数4:变体型,查找区域范围 参数5:整数型,返回查找结果类型 | 返回值: | 整数型,路径BMP图片的坐标 | 代码- Call Plugin.FISH.Bind("G:\1.BMP")
- //绑定 路径图片
- Dim xy, x, y, i
- xy = Plugin.FISH.FindPicture("G:\2.BMP", 0, 1.0, "FULL", 0)
- //或者 xy = Plugin.FISH.FindPicture("G:\2.BMP", "从左上到右下", 1.0, "FULL", 0)
- For i = 0 To UBound(xy)
- x = xy(i, 0)
- y = xy(i, 1)
- TracePrint x & "," & y
- Next
复制代码 代码分析: 1 Call Plugin.FISH.Bind("G:\1.BMP") 绑定主图片(小编截取了电脑整个屏幕作为主图,保存在G盘命名为1.bmp) 2 xy = Plugin.FISH.FindPicture("G:\2.BMP", 0, 1.0, "FULL", 0) 需要找的图(小编接取的是电脑屏幕上 我的电脑 图标),找到之后将坐标返回给变量xy 注意 :图片的格式要为BMP
|
一只鱼插件除了支持图片找图之外,它还支持图片二期处理和无字库找字,我们一起来看看~~
| 图片二期处理例如,我们要在图片上画圈圈,画框框等等,就属于图片的二期处理,我们看一个例子,看看一只鱼插件是如何实现图片的二期处理的。 | 例子 将电脑桌面截图保存为11.bmp,然后在图片11.bmp中画一个红色边框,红框所在区域为10,10,80,30
| 代码- //绑定 路径图片
- Call Plugin.FISH.Bind("C:\11.bmp")
- //获取图片数据
- Dim 像素二维数组
- 像素二维数组 = Plugin.FISH.GetPixels("FULL")
- //矩形范围
- l = 10
- t = 10
- r = 80
- b = 30
- //绘制矩形
- 像素二维数组 = 绘制矩形(l, t, r, b, 255, 像素二维数组)
- //保存图片
- Call Plugin.FISH.PixelsToBmp(像素二维数组, "C:\111.bmp")
- Function 绘制矩形(左, 上, 右, 下, 颜色, 数组)
- Dim x, y
- '-
- y = 上
- For x = 左 To 右
- 数组(x, y) = 颜色
- Next
- y = 下
- For x = 左 To 右
- 数组(x, y) = 颜色
- Next
- '|
- x = 左
- For y = 上 To 下
- 数组(x, y) = 颜色
- Next
- x = 右
- For y = 上 To 下
- 数组(x, y) = 颜色
- Next
- 绘制矩形 = 数组
- End Function
复制代码 思路分析: 1 绑定主图 2 获取主图的像素点二维数组 3 设置需要画红框的区域 4 循环给设置区域点的像素点赋值颜色(255是红色) 5 修改之后将被修改的像素数组保存起来(保存修改过的图片)
| 效果:- 您所在的用户组无法下载或查看附件
无需字库轻松找字 1 要查找的字不能是杂色字,需要是纯色字 2 目前找字功能支持宋体和黑体 | 找字命令命令名称: | FindWordShape 区域形状找字 | 命令功能: | 区域找单个文字或者多个字符串 | 命令参数: | 参数1:变体型,BMP图片路径 参数2:字符串型,查找方向 参数3:浮点型,颜色相似度参数4:变体型,查找区域范围 参数5:整数型,返回查找结果类型 | 返回值: | 整数型,文字的坐标 | 代码- Dim xy, x, y, i
- xy = Plugin.FISH.FindWordShape("一只鱼", "宋体,10", 0, 1.0, "FULL", 0)
- '或者 xy = Plugin.FISH.FindWordShape("一只鱼", "宋体,10", "从左上到右下", 1.0, "FULL", 0)
- For i = 0 To UBound(xy)
- x = xy(i, 0)
- y = xy(i, 1)
- TracePrint x & "," & y
- MoveTo x,y
- Next
复制代码 打开记事本测试下效果:- 您所在的用户组无法下载或查看附件
如果不知道游戏的字体是什么字体,多大。 建议可以使用一只鱼的抓色工具来测试字体。
| 如果童鞋们对于本帖里的内容有疑问或者建议,欢迎跟帖讨论~~ - 您所在的用户组无法下载或查看附件
本文由按键学院提供技术支持2个月学会赚大钱的脚本 按键学院10月实战班卷土来袭
|