• 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:2021-12-03

按键精灵安卓版
立即下载

软件版本:3.7.2
软件大小:46.2M
更新时间:2023-05-10

按键精灵iOS版
立即下载

软件版本:1.8.0
软件大小:29.2M
更新时间:2023-03-21

按键手机助手
立即下载

软件版本:3.8.0
软件大小:262M
更新时间:2023-05-30

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

[昨夜星辰] 【源码】基于大漠插件修改的两个HSV颜色函数 [复制链接]

1#
写在前面:
论坛恢复有一段时间了,从最早不知道如何发帖,到后来不知道写点什么,一直没有发帖。今天刚好碰到需要判断颜色和获取颜色数量,由于一直都是用大漠插件,就翻阅了一下大漠的文档。但是结果却是
CmpColor”和“GetColorNum这两个函数均不支持HSV颜色,只支持RGB。苦于无奈,索性自己写一个,顺便分享给大家。由于按键精灵运行效率堪忧,实际使用起来可能会比较慢,重在分享思路,与大家一同学习。构思匆忙,若有更好的写法或发现函数写法不正确,欢迎跟帖提供意见和建议。


函数名:
GetColorNum_HSV 获取指定区域的颜色数量(HSV)
参数定义:
x1
整数型:区域的左上X坐标
y1
整数型区域的左上Y坐标
x2
整数型区域的右下X坐标
y2
整数型区域的右下Y坐标
color_
字符串型:仅支持HSV颜色和偏色,比如"340.45.65-20.15.15|10.45.65-10.15.15"

sim 浮点型:相似度(0.1~1.0)

返回值:

整数型:返回颜色数量,未找到则返回0。

  1. Function GetColorNum_HSV(x1, y1, x2, y2, color_, sim)
  2. y2 = y2 - 1
  3. Dim num
  4. num = 0
  5. Dim x, y
  6. For x = x1 To x2
  7. For y = y1 To y2
  8. If CmpColor_HSV(x, y, color_, sim) = 0 Then
  9. num = num + 1
  10. End If
  11. Next
  12. Next
  13. GetColorNum_HSV = num
  14. End Function
复制代码

函数名:
CmpColor_HSV 比较指定坐标点(x,y)的颜色(HSV)

参数定义:
x 整数型:X坐标
y 整数型:Y坐标
color_ 字符串型:仅支持HSV颜色和偏色,比如"340.45.65-20.15.15|10.45.65-10.15.15"
sim 浮点型:相似度(0.1~1.0)

返回值:

整数型:返回0为颜色匹配,1为颜色不匹配。

  1. Function CmpColor_HSV(x, y, color_, sim)
  2. If sim < 0.1 Then
  3. sim = 0.1
  4. Else
  5. If sim > 1.0 Then
  6. sim = 1.0
  7. End If
  8. End If
  9. CmpColor_HSV = 1
  10. Dim HSV组合,HSV, H, S, V, HSV偏, H偏, S偏, V偏
  11. Dim U_color_,i
  12. color_ = Split(color_, "|")
  13. U_color_ = UBound(color_)
  14. Dim 指定点HSV, 指定点H, 指定点S, 指定点V
  15. 指定点HSV = Split(dm.GetColorHSV(x, y), ".")
  16. 指定点H = CDbl(指定点HSV(0))
  17. 指定点S = CDbl(指定点HSV(1))
  18. 指定点V = CDbl(指定点HSV(2))
  19. For i = 0 To U_color_
  20. HSV组合 = Split(color_(i), "-")
  21. HSV = Split(HSV组合(0), ".")
  22. HSV偏 = Split(HSV组合(1), ".")
  23. H = CDbl(HSV(0))
  24. S = CDbl(HSV(1))
  25. V = CDbl(HSV(2))
  26. H偏 = CDbl(HSV偏(0)) / sim
  27. S偏 = CDbl(HSV偏(1)) / sim
  28. V偏 = CDbl(HSV偏(2)) / sim
  29. If Abs(指定点H - H) <= H偏 And Abs(指定点S - S) <= S偏 And Abs(指定点V - V) <= V偏 Then
  30. CmpColor_HSV = 0
  31. Exit Function
  32. End If
  33. Next
  34. End Function
复制代码

点评

瑞祥幽冥狼  欢迎归来  发表于 2022/3/11 0:37:29

最后编辑昨夜星辰 最后编辑于 2022-04-08 18:20:32
近期制作:
传奇私服各种反外挂插件版本挂机软件,可教可售
原神加速、连发辅助工具
天下3自动钓大鱼辅助工具

承接脚本定制,点击下方联系
QQ:250039815

交流群:101296478

2#

33333333333333333333333333333333

3#

感谢分享

4#

感谢分享,支持大佬

5#

学习一下。

6#

怎么下载

7#

1111111111111111

8#

特地來看

9#

11111111

10#

感谢分享

11#

学习一下。

12#

Let Me See it <Thanks for sharing>

13#

111111

14#

感谢分享,支持大佬

15#

我来看看要有没有用!@!!!!

16#

学习到了,膜拜

17#

牛逼牛逼1

18#

试试看能不能用

19#

和官方都没见到放一块实体店与否

20#


晕倒,不知所云

发新话题 回复该主题