挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
游戏交易就上寄售网-专注稳定-诚信赢天下玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)天下盾/国内/免实名/免备案CDN无视一切CC/DD攻击
→入驻S9企业发卡网各种全黑号辅助群:475351077 ██【我要租此广告位】██.
.. .
查看: 15129|回复: 7
打印 上一主题 下一主题

[按键辅助教程] 图色绝招——让你轻松识别放大后的图片

[复制链接]
3正式会员
142/300

142

积分

47

主题

5

听众
已帮网友解决0 个问题
好评
0
贡献
95
海币
290
交易币
0
跳转到指定楼层
楼主
发表于 2015-4-16 11:05:32 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑



高大上的等比例多点找色

本文按键学院提供技术支持





按键学院交流群(1群已满):376122403
零基础学按键精灵群(2群):372671254




小编最近接到一个新手童鞋关于找图的问题,写了找图的代码,但是总也找不到图。小编检查了代码上完全没问题,最后发现,原来是想要找的图和游戏中的图片大小比例不对!!小编心里是一万只羊驼奔腾而过……图片的比例都不一致当然是找不到的啦。

当小编乐呵呵的和工程师07大大说起这个事情的时候,07大大以45度角仰天抬头,沉思了一会说道:不同比例大小的图是不能直接通过找图找到的,但是……也并非没办法实现
{:4_115:}

原理分析


按键精灵使用找图命令是判断图片的每个像素点的颜色是否一致来实现的,如果图片大小比例不一致的话,两张图之间的像素点的比例还有颜色可能就会不相同,所以使用找图的命令是无法通过小图找到大图的。
{:4_99:}
但是呢,想要实现通过小图来找大图也并非完全没办法的。 童鞋们可以仔细观察下一张图放大和缩小的画面,其实图片的放大和缩小都是按照一定的比例进行的,放大图片其实就是里面的像素按照一定的比例给放大了。

所以可以得出一个思路————只要把找小图的命令里的相关数值也按照一定比例去放大就可以找到大图了!!

当然,这样的话就不能使用找图的命令了,因为找图命令并没有明确的数值可以去设置,所以就需要使用到多点找色的命令来实现。


比例换算


先介绍下多点找色的命令

命令名称 FindMultiColor
命令功能 范围区域内查找多点颜色
命令参数 参数1 整数型,屏幕左上角X坐标参数2 整数型,屏幕左上角Y坐标
参数3 整数型,屏幕右下角X坐标
参数4 整数型,屏幕右下角Y坐标
参数5 字符串型,第一点16进制颜色值
参数6 字符串型,符合偏移点颜色组(相对第一点位置偏移X坐标|相对第一点位置偏移Y坐标|16进制颜色)
参数7 整数型,相似度
返回值: 字符串型,左上角第一点颜色位置坐标
范例:XY = Plugin.Color.FindMultiColor(0, 0, 1024, 768, "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF”,1)


通过上面的代码可以发现,这个找色命令的关键部分是 "FFFFFF", "2|0|FFFFFF,-6|1|FFFFFF” 这段。它是根据第一个坐标进行偏移指定的像素点。

根据上面的原理来看,我们就可以得出这样的算法

大图偏移值 = 小图偏移值 * 图片缩放比例

我们可以把他编写成一个函数,方便之后的转换:
  1. Function 比例换算(数组, 比例)
  2.     Dim str
  3.     arr = 数组
  4.     arr1 = Split(arr(1), ",")//把多点偏移部分提取出来分割
  5.     str = ""
  6.     For i = 0 To UBound(arr1)
  7.         arr2 = Split(arr1(i), "|")  //把偏移值分割出来
  8.         str = str & arr2(0) * 比例 & "|" & arr2(1) * 比例 & "|" & arr2(2) & ","  //偏移值分别乘以比例,然后连接起来赋值给变量str
  9.     Next
  10.     arr(1) = Left(str,Len(str)-1)// 这行代码是为了把str变量中结尾多出来的逗号去掉
  11.     比例换算1 = arr //把最终换算好的数组传递给函数作为返回值
  12. End Function
  13. //下面是范例,第一个参数是数组,第二个是图片缩放的比例
  14. 多点 = 比例换算1(Array("BDBDBD", "0|-3|5A6373,0|-7|39394A,2|-5|BDBDBD"), 1)
复制代码



实际应用



看了上面的代码,有童鞋会有疑问,如果事先不知道图片缩放的比例该怎么办?

这个问题其实很好解决:

对于事先不知道缩放比例的图,我们可以用一个循环一直遍历不同的比例,找到对应的图片后就退出循环。

这里就先拿一个游戏的截图来举例:

这个是正常大小的图片,我们先从这个图片中进行多点找色,这里我们找的是”水“这个字


这个是图片放大之后,我们就是好要利用下面的遍历的方法去在里面找到这个”水“

  1. Do
  2.     //先把多点找色的偏移值进行换算,把比例参数设置成变量,每次循环递增一点
  3.     多点 = 比例换算1(Array("80F0F8","0|2|70E8F8,0|5|50D8F8,0|8|30C8F8,0|11|18B8F8,-2|11|18B8F8,-5|10|20BXF8,-4|9|28C0F8,-3|8|30C8F8,-2|8|606020,3|8|30C8F8,4|9|28C0F8,5|10|20BXF8,5|11|606020"), z)
  4.     TracePrint 多点(0) &"*"& 多点(1)
  5.     //把结果带入到多点找色的命令里。
  6.     XY=Plugin.Color.FindMutiColor(0,0,1900,900,多点(0),多点(1),0.8)
  7.     MyArray = Split(XY, "|")
  8.     X = CInt(MyArray(0)) : Y = CInt(MyArray(1))
  9.     If x >= 0 Then
  10.         TracePrint z
  11.         MoveTo x, y
  12.         Exit Do
  13.     End If
  14.     //这里设定比例每次循环递增0.1 的量,具体的递增的量可以自行修改,建议在1以内
  15.     z = z + 0.1
  16.     Delay 500
  17.     TracePrint z
  18. Loop  
复制代码
注意要点:

1、这里编写出的函数是只针对等比例缩放的图片,即是长和宽的缩放比例是一致的。如果长和宽缩放的比例不一致的话是无法直接使用上面的换算函数。

2、使用等比例换算来找色,对于放大后的图片是有一定要求的,放大后的图片不能和原图差太多,因为图片被放大过多的话,那图片中的像素点可能会出现失真模糊的情况,那找色也是无法找到的。

童鞋们在平时的使用中要多注意哦

联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:轻松办公,表格图片想插就能插~~
下一篇:小知识分享—注释、目录、监控三重奏
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:[email protected]),本站将立即改正。

3正式会员
146/300

146

积分

58

主题

6

听众
已帮网友解决0 个问题
好评
0
贡献
88
海币
831
交易币
0
沙发
发表于 2015-4-16 11:38:32 | 只看该作者
不知道说些什么了,太鸡冻了
3正式会员
171/300

171

积分

56

主题

4

听众
已帮网友解决0 个问题
好评
0
贡献
115
海币
1319
交易币
0
板凳
发表于 2015-4-16 13:37:35 | 只看该作者
就不告诉你,就不告诉你,就不~告诉你!

6

积分

121

主题

6

听众
已帮网友解决0 个问题
好评
-2
贡献
-115
海币
9
交易币
0
地板
发表于 2015-5-17 04:52:00 | 只看该作者
回复一下 证明我来过

1

积分

0

主题

0

听众
已帮网友解决0 个问题
好评
0
贡献
1
海币
1
交易币
0
5#
发表于 2015-5-26 10:08:04 | 只看该作者
支持楼主,绝对顶你...谢谢!

1

积分

0

主题

0

听众
已帮网友解决0 个问题
好评
0
贡献
1
海币
1
交易币
0
6#
发表于 2015-5-26 10:08:18 | 只看该作者
支持楼主,绝对顶你...谢谢!
6高级会员
624/1100

624

积分

193

主题

3

听众
已帮网友解决0 个问题
好评
0
贡献
431
海币
7388
交易币
0
7#
发表于 2015-5-27 18:31:57 | 只看该作者
诶呀诶呀,真的满需要的~哈哈!

45

积分

18

主题

1

听众
已帮网友解决0 个问题
好评
0
贡献
27
海币
840
交易币
0
8#
发表于 2015-5-28 03:58:15 | 只看该作者
楼主加油,我们都看好你
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2024-5-14 11:27 , Processed in 0.296862 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表