TC官方合作论坛

标题: 【一只鱼】图灵v1.1插件(屏幕、后台和图片的找图、色与字) [打印本页]

作者: 鱼头之王    时间: 2014-3-26 16:12
标题: 【一只鱼】图灵v1.1插件(屏幕、后台和图片的找图、色与字)
本帖最后由 鱼头之王 于 2014-5-27 20:58 编辑

图灵v1.1版插件发布,永久免费。

能够根据屏幕、后台窗口和图片进行“像素获取、取色、找色、找图、找字和截图保存”等功能。


使用VB开发的com插件,适合所有语言调用。
主要开发方向:图像处理方面,不涉及鼠标与键盘操作。

注意:首先,添加插件到资源中,再使用!!!

例子演示:


  1. //开始按钮_点击操作
  2. 功能 开始_点击()
  3.    
  4.    
  5.     //---------------[注册插件]
  6.     是否成功=辅助.是否注册("OneFish.Soul")
  7.     如果(是否成功)
  8.         辅助.消息框("插件已注册")
  9.     否则
  10.         是否成功=辅助.注册插件("rc:FISH.dll", 真)
  11.         如果(是否成功)
  12.             辅助.消息框("插件注册成功")
  13.         如果结束
  14.     如果结束   
  15.    
  16.    
  17.     //---------------[创建插件对象]
  18.     FISH = 插件("OneFish.Soul")
  19.    
  20.    
  21.     //---------------[获取指定点颜色]
  22.     颜色 = FISH.GetPixelColor(0, 0, "BGR")
  23.     辅助.消息框(颜色)
  24.    
  25.    
  26.     //---------------[区域找(单)色]
  27.     坐标 = FISH.FindColor("0000FF", 0, 1, "FULL", 1)         //坐标=array[][]
  28.     //坐标 = FISH.FindColor("0000FF|FF0000", 0, 1, "FULL", 1)
  29.     x = 坐标[0][0]
  30.     y = 坐标[0][1]
  31.     辅助.消息框(x & ", " & y)
  32.     鼠标.移动(x, y)  
  33.    
  34.    
  35.     //---------------[获取屏幕区域像素]
  36.     范围 = 数组[4]
  37.     范围[0] = 100
  38.     范围[1] = 100
  39.     范围[2] = 110
  40.     范围[3] = 110
  41.     像素二维数组 = FISH.GetPixels(范围)
  42.     //变量 xx, yy
  43.     //数组空间.大小(像素二维数组, xx, yy)  
  44.     //遍历(y=0;y<yy;y++)
  45.     //    遍历(x=0;x<xx;x++)
  46.     //        调试输出(像素二维数组[x][y])
  47.     //    遍历结束
  48.     //遍历结束
  49.    
  50.    
  51.     //---------------[保存区域像素为图片]
  52.     FISH.PixelsToBmp(像素二维数组, "C:\\YL1.bmp")
  53.    
  54.    
  55.     //---------------[区域找(单)图]
  56.     坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, 1.0, "FULL", 0)
  57.     //坐标 = FISH.FindPicture("C:\\YL1.bmp|C:\\YL2.bmp", 0, 1.0, "FULL", 0)
  58.     变量 下标
  59.     数组空间.大小(坐标, 下标)  
  60.     遍历(i=0;i<下标;i++)
  61.         x = 坐标[0][0]
  62.         y = 坐标[0][1]
  63.         辅助.消息框(x & ", " & y)
  64.         鼠标.移动(x, y)  
  65.     遍历结束
  66.    
  67.    
  68.     //---------------[区域找(单)字]
  69.     坐标 = FISH.FindWordShape("一只鱼", "宋体,9", 0, 1.0, "FULL", 0)
  70.     //坐标 = FISH.FindWordShape("一只鱼|我的电脑", "宋体,9", 0, 1.0, "FULL", 0)
  71.     变量 下标
  72.     数组空间.大小(坐标, 下标)  
  73.     遍历(i=0;i<下标;i++)
  74.         x = 坐标[0][0]
  75.         y = 坐标[0][1]
  76.         辅助.消息框(x & ", " & y)
  77.         鼠标.移动(x, y)  
  78.     遍历结束
  79.    
  80.    
  81. 功能结束
复制代码




作者: 鱼头之王    时间: 2014-3-27 08:48
下载 帮助  里面有命令参数的介绍。
作者: crackiss    时间: 2014-3-27 08:55
下载来学习下 谢谢楼主分享
作者: dreamaker    时间: 2014-3-28 22:57
楼主图标好熟悉啊 貌似用过你的工具 按键那边?
作者: 鱼头之王    时间: 2014-3-29 21:47
没错,我就是一只鱼,因为论坛这个名字被注册,所以 换名字。
你用的是 我的 鱼鱼抓色 吗?

作者: 鱼头之王    时间: 2014-3-29 21:47
dreamaker 发表于 2014-3-28 22:57
楼主图标好熟悉啊 貌似用过你的工具 按键那边?

没错,我就是一只鱼,因为论坛这个名字被注册,所以 换名字。

你用的是 我的 鱼鱼抓色 吗?
作者: dreamaker    时间: 2014-3-30 19:18
鱼头之王 发表于 2014-3-29 21:47
没错,我就是一只鱼,因为论坛这个名字被注册,所以 换名字。

你用的是 我的 鱼鱼抓色 吗? ...

对的  就是那个!嘿嘿
作者: 鱼头之王    时间: 2014-3-31 10:12
dreamaker 发表于 2014-3-30 19:18
对的  就是那个!嘿嘿

有需要修改功能或者新增功能 ,可以跟帖。
作者: itcfan    时间: 2014-3-31 23:13
能不能实现免注册?
作者: 鱼头之王    时间: 2014-4-2 12:36
itcfan 发表于 2014-3-31 23:13
能不能实现免注册?

VB开发的dll 做不到 免注册。。
作者: itcfan    时间: 2014-4-3 09:47
鱼头之王 发表于 2014-4-2 12:36
VB开发的dll 做不到 免注册。。

搜索:ActiveXDLL免注册调用的方法(改良自阿国哥的源码)

你看看有帮助没?
作者: 鱼头之王    时间: 2014-4-8 09:01
这个是VB调用的方法 不是做成 免注册的方法
作者: 鱼头之王    时间: 2014-4-20 21:28
有需要修改功能或者新增功能 ,可以跟帖。
作者: poyo201    时间: 2014-5-20 18:16
鱼头之王 发表于 2014-4-20 21:28
有需要修改功能或者新增功能 ,可以跟帖。

能做字库么?

增加点后台键盘鼠标的就完美了
作者: 99365    时间: 2014-5-21 12:52

作者: cyirano    时间: 2014-5-27 13:00
搜图的速度如何?
作者: 鱼头之王    时间: 2014-5-27 18:46
poyo201 发表于 2014-5-20 18:16
能做字库么?

增加点后台键盘鼠标的就完美了

我主要做图像处理方面的。跟鼠标键盘没有关系。所以不会做。天使 都已经做很好了。
作者: 鱼头之王    时间: 2014-5-27 18:46
cyirano 发表于 2014-5-27 13:00
搜图的速度如何?

能够满足 正常需求。
作者: 如此美丽。    时间: 2014-5-27 19:03
不错  辛苦了
作者: cyirano    时间: 2014-5-28 14:36
坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, 1.0, "FULL", 0)
区域找(单)图这个,第四个参数能详细讲解下吗,"FULL"应该就是在全屏范围内找图的意思吧?这个参数还有什么写法?比如要在一小片区域内找图,该怎么写这个参数?
作者: 鱼头之王    时间: 2014-5-28 14:49
坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, 1.0, "0,0,800,600", 0)
作者: 鱼头之王    时间: 2014-5-28 14:50
cyirano 发表于 2014-5-28 14:36
坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, 1.0, "FULL", 0)
区域找(单)图这个,第四个参数能详细讲解下吗 ...


坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, 1.0, "0,0,800,600", 0)

直接写范围坐标即可,(左,上,右,下)
作者: cyirano    时间: 2014-5-28 15:29
又是我,还是区域找(单)图的问题,该如何判断是否找到图片呢?
坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, 1.0, "0,0,800,600", 0)
这种找法,如果没找到,返回的坐标是-1,-1
我能通过坐标值为负判断没有找到图。

但是
坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, 1.0, "100,100,800,600", 0)
这种范围区域的找法中,没找到图返回的坐标并不是负数,判断不出来是否找到图片了。



作者: 鱼头之王    时间: 2014-5-28 17:45
cyirano 发表于 2014-5-28 15:29
又是我,还是区域找(单)图的问题,该如何判断是否找到图片呢?
坐标 = FISH.FindPicture("C:\\YL1.bmp", 0, ...

如果不是负数 说明 找到图了。 返回值内容是啥??
作者: poyo201    时间: 2014-5-30 22:37
问下,VB开发的com插件,一些精简系统需要有哪些必要的DLL才能使用么? 比如VB的 msvbvm60.dll 这些?

还有,Bind 函数需要把游戏窗口移动到屏幕外面么?
作者: 鱼头之王    时间: 2014-6-3 16:55
poyo201 发表于 2014-5-30 22:37
问下,VB开发的com插件,一些精简系统需要有哪些必要的DLL才能使用么? 比如VB的 msvbvm60.dll 这些?

还 ...

1、不需要msvbvm60.dll 这个
2、部分游戏需要,这个你可以截图测试下是否能够截到图,或者屏幕是否花屏?
作者: poyo201    时间: 2014-6-5 21:21
鱼头之王 发表于 2014-6-3 16:55
1、不需要msvbvm60.dll 这个
2、部分游戏需要,这个你可以截图测试下是否能够截到图,或者屏幕是否花屏? ...

   我的电脑使用是没有问题,就是怕发布出去担心一下VB的兼容性
作者: wxf871208    时间: 2014-6-15 00:43
有没有 动态截图函数???
作者: 鱼头之王    时间: 2014-6-15 18:28
wxf871208 发表于 2014-6-15 00:43
有没有 动态截图函数???

截成gif图吗?
作者: wxf871208    时间: 2014-6-23 23:39
鱼头之王 发表于 2014-6-15 18:28
截成gif图吗?

是的,可以参考下大漠
作者: 鱼头之王    时间: 2014-6-24 14:01
好好好好好好
作者: slz336    时间: 2014-8-26 09:16

bbs中的附件我都下载不到呢
作者: 鱼头之王    时间: 2014-12-1 11:37
slz336 发表于 2014-8-26 09:16
bbs中的附件我都下载不到呢

右键 另存为 试试看
作者: tc411825110    时间: 2015-1-1 18:59
学习一下!!
作者: 鱼头之王    时间: 2015-1-7 13:57
tc411825110 发表于 2015-1-1 18:59
学习一下!!

感谢支持
作者: 鱼头之王    时间: 2015-3-3 14:02

作者: kelejiabing101    时间: 2015-3-3 14:44
老大不错,继续努力啊{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}{:soso_e179:}
作者: kelejiabing101    时间: 2015-3-3 14:47
鱼老大 你是按键论坛的那鱼老大吗?
作者: kelejiabing101    时间: 2015-3-3 14:50
帮助复制成 文本文档吧  图片的看着难受
作者: kelejiabing101    时间: 2015-3-3 15:34
我把帮助 文字划了,大家好用
作者: 鱼头之王    时间: 2015-3-3 15:36
kelejiabing101 发表于 2015-3-3 15:34
我把帮助 文字划了,大家好用

感谢啊
作者: 鱼头之王    时间: 2015-3-3 15:36
kelejiabing101 发表于 2015-3-3 14:47
鱼老大 你是按键论坛的那鱼老大吗?

我是
作者: kelejiabing101    时间: 2015-3-3 16:02
本帖最后由 kelejiabing101 于 2015-3-3 21:25 编辑

希望老大增加价格阔值 (错别字 阈值 yùzhí)和直方图的  
直方图的可以指定一种或者多种颜色,返回数组
作者: 鱼头之王    时间: 2015-3-3 20:15
阔值 是什么??就是二值化吗?
作者: kelejiabing101    时间: 2015-3-3 20:46
注册插件的时候有点问题

如果放入 资源 然后程序注册 提示出错
如果还其他目录 手动注册 一样的出错,但是tc能检测 注册成功 但调用命令 提示出错
把插件放到系统 文件后 手动注册 ,没有上面的问题 可以运行了
作者: kelejiabing101    时间: 2015-3-3 21:24
本帖最后由 kelejiabing101 于 2015-3-3 21:36 编辑
鱼头之王 发表于 2015-3-3 20:15
阔值 是什么??就是二值化吗?

阈值  

另外     像素二维数组=FISH.GetPixels("0,0,10,10") 这个命令返回的 数组值是 13864257 之类的怎么换成RGB格式或者 其他颜色格式的
我换了下进制 直接  13864257 (10)=D38D41(16)  猜测是10进制的换成16进制  不知道格式是BGR 还是RGB输出的

作者: kelejiabing101    时间: 2015-3-3 21:26
更正下说明中的错误

命令名称:FindWordShape区域形状找字
命令功能:区域找单个文字或者多个字符串
命令参数:
参数1:字符串型,要查找的字符串 "一只鱼|一条鱼"
参数2:字符串型,字体,字号     "宋体,9"
参数3:变体型,查找方向
参数4:浮点数,相似度   0.1-1.0
参数5:变体型,查找区域范围     "FULL" 或者"0,0,2000,2000"
参数5:整数型,返回查找结果类型
返回值:整数型,文字的坐标
//
//---------------[区域找(单)字]
坐标=FISH.FindWordShape("一只鱼|我的电脑","宋体,9",0,1.0,"FULL",0)
变量下标
数组空间.大小(坐标,下标)
遍历(i=0;i<下标;i++)
    x=坐标[i][0]
    y=坐标[i][1]
    辅助.消息框(x&","&y)
    鼠标.移动(x,y)
遍历结束
作者: 鱼头之王    时间: 2015-3-3 21:55
kelejiabing101 发表于 2015-3-3 21:24
阈值  

另外     像素二维数组=FISH.GetPixels("0,0,10,10") 这个命令返回的 数组值是 13864257 之类的怎 ...

Public Function ColorRGB(Color As Long) As Byte()
C**t ByN As Integer = 256
C**t ByN2 As Long = 65536
Dim A(2) As Byte
A(0) = (Color Mod ByN)
A(1) = ((Color Mod ByN2) \ ByN)
A(2) = (Color \ ByN2)
ColorRGB = A
End Function

参考这个改



13864257 (10)=D38D41(16) 这个正确
作者: kelejiabing101    时间: 2015-3-12 21:11
我查了下 猜测你的找字 应该是 先获取文字的点阵 然后形状找

作者: 鱼头之王    时间: 2015-3-13 16:20
kelejiabing101 发表于 2015-3-12 21:11
我查了下 猜测你的找字 应该是 先获取文字的点阵 然后形状找

你有更好的办法?
作者: wwkiqpl    时间: 2015-6-14 10:18
本帖最后由 wwkiqpl 于 2015-6-14 10:46 编辑

区域找图  找不到图   返回值问题?
在按键中试了正常
作者: 鱼头之王    时间: 2015-9-17 09:48
wwkiqpl 发表于 2015-6-14 10:18
区域找图  找不到图   返回值问题?
在按键中试了正常

不是我的脚本例子问题??

参考下 这个:http://bbs.tyuyan.com/forum.php? ... &fromuid=149807
作者: cupidyzw1    时间: 2016-2-3 10:10
默默地支持楼主。
作者: 2857989310    时间: 2018-4-2 02:01
楼主,为什么tc7.0使用 FISH.GetPixels 这个命令程序就崩溃,TC4.431的没问题,
作者: 鱼头之王    时间: 2018-4-12 10:03
2857989310 发表于 2018-4-2 02:01
楼主,为什么tc7.0使用 FISH.GetPixels 这个命令程序就崩溃,TC4.431的没问题,

可能返回值的类型空间不够,溢出崩溃了吧?




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1