- UID
- 1
- 帖子
- 11122
- 积分
- 7224
- 紫菀
- 102 朵
- 花瓣
- 9777 片
- 花蕊
- 1613 朵
- 野草莓
- 301 个
- 蒲公英
- 491 朵
- 社区等级
- 200 级
- 在线时间
- 5246 小时
- 注册时间
- 2006-7-9
- 蜗居何地
- 浙江台州
- 登录状态
-
当前离线
|
楼主
发表于 2007-8-30 18:01
| 只看该作者
在从零开始学起时,在我硬盘上一些曾经帮助我很多的小纸条!--Sz
嘻嘻,现在大家在脚本里不多也不少会用到找图.
找色,判断某一点的颜色之类的.
但是有时候捉某一定点的时候,它的颜色问题变化的.
如果不想弄太多代码的朋友会用到 约等于 ,不过这有时候也不是太理想.
那现在如果把它保存下来用 photoshop 看看他那颜色的波动范围.最后才发现
自己没有装 photoshop 呵呵,郁闷啊~~
不过,我们还有按键!嘻嘻~我让按键为我们对那些颜色求出它们的平均值!
这样.我们可以 比较快得出几点颜色的平均值.
好不.就这样.大家看看脚本吧.
PS:颜色 如 : FACD10 ,R :10 G:CD B: FA 希望大家不要搞乱了.
运行脚本后请把鼠标移到要捉的颜色上.,按空格键.如果按其它键则是输出数值.
VBS Dim r,g,b,i,c,x,mx,my
VBS r=0:g=0:b=0:i=0
// 按空格键.表示捉鼠标的颜色
WaitKey x
While x=32
//得到鼠标的位置
VBSCall GetCursorPos(mx,my)
//得到鼠标位置上的颜色
VBSCall c=GetPixelColor(mx,my)
//分离颜色.并转成整数想加.
VBS r=r+Cint("&H" & Right(c,2))
VBS g=g+Cint("&H" & Mid(c,3,2))
VBS b=b+Cint("&H" & Left(c,2))
VBS i=i+1
WaitKey x
EndWhile
//求出平均值
VBS r=CInt(r/i):g=CInt(g/i):b=CInt(b/i)
VBSCall MessageBox("R:" & r & " G:" & g & " B:" & b)
呵呵 .这个啊.
如RGB的平均值为:
R:100 G :50 B:20
那你可以判断
那你可以判断你捉的那点色进行一个范围的判断.如你捉到的颜色的RGB 为 tR,tG,tB
if tR>90 and tr<100 and tG>40 and tG<60 and tB>10 and tB<30
有时候由于地图的原因某种色会比较特别.
在RGB之间的差值明显和其颜色不同的.
如 R>G,R>B
这些都是一些颜色差值的.问题.不过.还是要对实际情况的判断.
用不用得着就看看实际情况. |
|