返回列表 回复 发帖

[贴士] RGB颜色平均值查看

在从零开始学起时,在我硬盘上一些曾经帮助我很多的小纸条!--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

这些都是一些颜色差值的.问题.不过.还是要对实际情况的判断.

用不用得着就看看实际情况.
简单就好!
返回列表