制作游戏辅助必学图片找图、图片二期处理
1、 图片找图
使用 【一只鱼】●图灵v1.1插件 ,只需要几行代码就能轻松解决图片找图的问题。
使用前准备
1、下载一只鱼插件,解压到任意路径
2、将解压后文件夹里的 FISH.dll 和 FISH.html 两个文件剪切到按键精灵安装目录下的plugin文件夹里。
3、打开按键精灵(如果复制文件到plugin文件夹里时按键精灵是开启状态,请关闭之后再开启)
2、需要用到的插件命令
命令名称:
Bind 绑定
命令功能:
绑定窗口句柄或BMP图片路径
命令参数:
参数1:变体型,窗口句柄或路径图片 参数2:字符串型,绑定方式
返回值:
无
命令名称:
FindPicture 区域找图
命令功能:
区域找单张图片或者多张图片
命令参数:
参数1:变体型,BMP图片路径 参数2:字符串型,查找方向 参数3:浮点型,颜色相似度参数4:变体型,查找区域范围 参数5:整数型,返回查找结果类型
返回值:
整数型,路径BMP图片的坐标
3、代码
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
4、代码分析:
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
一只鱼插件除了支持图片找图之外,它还支持图片二期处理和无字库找字,我们一起来看看~~
5、图片二期处理
例如,我们要在图片上画圈圈,画框框等等,就属于图片的二期处理,我们看一个例子,看看一只鱼插件是如何实现图片的二期处理的。
6、例子
将电脑桌面截图保存为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
7、思路分析:
1 、绑定主图 2、获取主图的像素点二维数组 3、设置需要画红框的区域 4、循环给设置区域点的像素点赋值颜色(255是红色) 5、修改之后将被修改的像素数组保存起来(保存修改过的图片)效果:

8、无需字库轻松找字
1 、 要查找的字不能是杂色字,需要是纯色字
2、 目前找字功能支持宋体和黑体
找字命令
命令名称:
FindWordShape 区域形状找字
命令功能:
区域找单个文字或者多个字符串
命令参数:
参数1:变体型,BMP图片路径 参数2:字符串型,查找方向 参数3:浮点型,颜色相似度参数4:变体型,查找区域范围 参数5:整数型,返回查找结果类型
返回值:
整数型,文字的坐标
9、代码
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
打开记事本测试下效果:

10、按键精灵里的资源库中可以下载鱼鱼插件(按键精灵论坛中的插件板块中也可以下载)
