TC官方合作论坛

标题: 关于找色的一个问题 [打印本页]

作者: 空山新雨后    时间: 2015-8-26 19:55
标题: 关于找色的一个问题
我要找除了一个颜色之外的所以颜色,这样该怎么写?
比如要找除了 999999 (RGB)之外的所有颜色,那么,大漠的 FindColor 命令中的颜色参数该怎么写呢?
新手求教!

作者: 言术    时间: 2015-8-26 20:35
那就找这个颜色,然后判断一下,找到返回假,没找到返回真
  1.         dm.FindColor(0,0,2000,2000,"999999-000000",1.0,0,intX,intY)
  2.         如果(intX>0)
  3.             调试输出("这里写找到后的处理")
  4.         否则
  5.             调试输出("这里写没找到的处理")
  6.         结束
复制代码

作者: 空山新雨后    时间: 2015-8-26 20:38
言术 发表于 2015-8-26 20:35
那就找这个颜色,然后判断一下,找到返回假,没找到返回真

我的意思是 999999 这个颜色是背景色,我要找除了这个颜色之外的颜色,要坐标的.
作者: 言术    时间: 2015-8-26 20:52
空山新雨后 发表于 2015-8-26 20:38
我的意思是 999999 这个颜色是背景色,我要找除了这个颜色之外的颜色,要坐标的. ...

变通一下啊,找不到这个颜色再找全部颜色。。。。。。。
        dm.FindColor(0,0,2000,2000,"999999-000000",1.0,0,intX,intY)
        如果(intX>0)
            调试输出("这里写找到后的处理")
        否则
            调试输出("这里写没找到的处理")
        dm.FindColor(0,0,2000,2000,"999999-FFFFFF",1.0,0,intX,intY)
        结束
作者: 空山新雨后    时间: 2015-8-26 20:58
言术 发表于 2015-8-26 20:52
变通一下啊,找不到这个颜色再找全部颜色。。。。。。。
        dm.FindColor(0,0,2000,2000," ...

我已经说了.. 999999 这个颜色是背景色,是肯定可以找到的,要的答案就是 FindColor 的颜色参数,除了这个颜色之外的颜色 的色彩描述 该怎么写
作者: 言术    时间: 2015-8-26 21:02
空山新雨后 发表于 2015-8-26 20:58
我已经说了.. 999999 这个颜色是背景色,是肯定可以找到的,要的答案就是 FindColor 的颜色参数,除了这 ...

找找看,就像tc找色有返回索引的,用索引判断下,我不会了,等大神吧。。。
作者: 言术    时间: 2015-8-26 21:33
000000-999998|FFFFFF-666665
作者: 空山新雨后    时间: 2015-8-26 21:37
言术 发表于 2015-8-26 21:02
找找看,就像tc找色有返回索引的,用索引判断下,我不会了,等大神吧。。。 ...

嗯..这个好像不对,刚刚已经自己解决了,把结果也贴出来吧.. ”7f7f4c-7f7f4c|7f7fcc-7f7f32“,不过还是谢谢你啊。
作者: 言术    时间: 2015-8-26 21:45
空山新雨后 发表于 2015-8-26 21:37
嗯..这个好像不对,刚刚已经自己解决了,把结果也贴出来吧.. ”7f7f4c-7f7f4c|7f7fcc-7f7f32“,不过还是 ...

今天不在状态,没仔细看题目,想问下,你这个值是怎么计算的?我不是很理解?能给讲解一下吗?
作者: 空山新雨后    时间: 2015-8-26 21:56
言术 发表于 2015-8-26 21:45
今天不在状态,没仔细看题目,想问下,你这个值是怎么计算的?我不是很理解?能给讲解一下吗? ...

基本色
(FF/2=7F).(FF/2=7F).(98/2=4C)
偏色
7F.7F.4C
前面两个正好可以匹配 255以内的
后面的匹配 98以内的,前面的描述匹配不到xxxx99之后的,所以才有 "7F7FCC-7F7F32",其实还应该加个 7F7FFE-7F7F01
测试过后,基本上都可以找到,不过我也是新手,只是尝试着这样算,可能有点笨拙。
作者: dear    时间: 2015-8-27 02:52
大漠有背景色识别。在颜色字符串前面加b@ 就是识别背景色
b@FFFFFF-000000
作者: yecanxue    时间: 2015-8-27 10:50
多大范围  范围小的话  直接逐个像素点循环判断呗  如果求高端 可以咨询一下win32 大神调用api函数试试  
作者: yecanxue    时间: 2015-8-27 10:51
判断之前 可以加个取颜色数 大于等于2  减少一些运算




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