李成笔记网

专注域名、站长SEO知识分享与实战技巧

AutoHotKey V2教程(五)找图找色 autojs找图找色找节点助手

介绍

简单来说,找图找色,就是在某个窗口界面里找到你想要的图或者颜色。实现思路就是对某个窗口进行图片截取,然后从这个图片里找到你想要的目标。AHK提供了3个基本的函数可以实现这些需求,不过今天要说的是一个更强大的东西:ImagePut 这是AutoHotkey 中的图像核心库,使用它可以轻松的实现找图找色

首先把它下载下来

然后引用一下ImagePut.ahk,根据你的实际路径修改

#Include ..\plugin\ImagePut.ahk

对某窗口截图

下面展示了两种方式截图,既可以直接使用窗口的title,也可以使用窗口句柄,pic.show会将图片显示出来,可以通过这个方式看一下截图功能是否正常

找图

之后在这个图上,寻找想要的图片,例如我想寻找雷电游戏中心

我先把这个小图截取下来保存,然后使用ImageSearch方法去寻找

如果目标存在,会返回左上角的坐标,xy[1]是x轴坐标,xy[2]是y轴坐标

由于图片颜色可能会存在误差,所以可以传递第二个参数来表示差异度,颜色是由三个通道Red、Green、Blue组成的,每个值用16进制表示即从0到FF,转换成10进制是0到255。差异度指的就是这个值的变化程度范围,传递50,大概范围就是上下浮动20%

找色

从图片上的某坐标取色值,这个用法非常简单,直接读取pic的坐标点即可

会弹出坐标100,100处的色值

前两位0x表示16进制

接下来两位FF表示不透明度为100%,取值范围0-FF

后面6为RGB值

只从一个坐标点取色判断往往是不准确的,实际场景中,一般会进行多点取色判断

取某色值数量

这是一个可以代替多点取色,简单有效的方法,即判断图中某个范围内容某颜色值数量的多少

例如在火影忍者游戏里,我通过判断左侧框选位置的白色值数量,来确定是否处于开战页面

添加图片注释,不超过 140 字(可选)

首先还是先截图

 pic := ImagePutBuffer(huoying)

其次在这个大的截图里取小图,四个参数表示要截取的x坐标,y坐标,宽,高

    npic := pic.crop(32, 189, 100, 240)

最后查询颜色值数量

l := npic.PixelSearchAll(0xFFFFFFFF)

通过l的数量,就可以知道当前是处于哪个页面。这种方法更简单粗暴。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言