资源描述:
《学习脚本制作:用按键精灵找图找色rgb分量之偏色与彩色图片转黑白》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、学习脚本制作:用按键精灵找图找色RGB分量之偏色与彩色图片转黑白来源:按键学院【按键精灵】 颜色对于制作脚本来说是至关重要的,找图找字找色都需要使用到颜色。所以,对颜色的认识是也是非常重要的。颜色知识大解剖 【 颜色是由三原色混合形成的】* 即红、绿、蓝。三原色可以混合出所有的颜色。* 我们通常把三原色简称为RGB(R、G、B是红(Red)、绿(Green)、蓝(Blue)的缩写)* R的值区间是0~255 这是十
2、进制,转换成十六进制就是:00-FF (G、B也是一样)【 RGB】*我们前面说,一个颜色是由三原色RGB构成的,例如白色(R、G、B值都为255时显示白色):*十六进制表示:FFFFFF(十六进制一共有六位,每两位表示一个原色)*十进制表示:255,255,255 【 按键精灵颜色表示格式BGR】应该有很多童鞋都知道,其实,我们按键的颜色表示并不是RGB的顺序来表示的,按键使用的表示方式是BGR,把R和B的位置互换了。 所以,有的时候,我们可能会遇到这样的情况:甲:“为什么!为什么我
3、用XX颜色工具获取到的颜色不能识别!”乙:“哎呀,你看看你代码啊,那么乱说不定哪里错了。”甲:“滚!给我圆滚滚的滚!哥的代码虽乱但那都是精华,怎么会错。"甲因为不知道颜色知识,不知道按键颜色排列是BGR,也不知道xx颜色工具获取的颜色排列是RGB,所以苦恼了很久都没有找到问题所在。【 RGB颜色格式转换为BGR】如果我们遇到这样的情况怎么办呢?其实,解决方法不麻烦,你看,一个BGR 一个RGB,就是把RB的位置调换了而已,那再把它调回来不就得了么?问题是……要怎么个调法?例如:FF0033我们的思维很快,一秒钟就换过来了,RGB变成BGR 前后两位互调,那就是3
4、300FF换成代码思路也不麻烦:1、获取颜色值:FF00332、用字符处理函数分割获取到的颜色值:FF
5、00
6、33分别赋值给变量R、G、B3、将RGB三个字符变量合成,顺序为BGR那么生成代码就是这个样子:sColor="FF0033" LenRGB=Len(sColor) R=Mid(sColor,1,2)G=Mid(sColor,3,2)B=Mid(sColor,5,2)MessageBox"BGR:"&B&G&R按键中还有个更方便的命令,不过这个命令,分出来的值是十进制的值: GetColor="FF0033" CallPlugin.Colo
7、r.ColorToRGB(GetColor,R,G,B) Msgbox"R:"&R&vbcrlf&"G:"&G&vbcrlf&"B:"&B RGB分量之偏色 【大漠找字中的偏色】上面说到,把颜色分割成RGB三原色(分割颜色又称为分量),那么,分割颜色除了转换RGB,BGR还有其它的功用吗?答案是肯定的,应该有很多童鞋都使用过大漠工具,在大漠工具找字里,可以设置偏色。偏色是什么呢?就是设定一个颜色范围,当获取的颜色在这
8、个范围内的时候都能找到。对偏色不熟悉的童鞋可以看下我们之前的院刊帖子,关于大漠找字偏色的帖子:http://bbs.anjian.com/thread-543327-1-1.html偏色,听起来很深奥的样子,它其实就是由我们的RGB分量来实现的。偏色大致思路:1、设置颜色范围例如:0000FF-FFFFFF2、获取颜色值,并且使用ColorToRGB命令把颜色值进行分量,赋值给变量R、G、B3、获取颜色范围0000FF,用colorToRGB命令将它分量,赋值给变量R1、G1、B14、获取颜色范围FFFFFF,用colorToRGB命令将它分量,赋值给变量R2、
9、G2、B25、判断颜色值是否超过设定的范围参考代码如下:min="0000FF"max="FFFFFF"GetColor=GetPixelColor(0,0)//获取0,0点颜色CallPlugin.Color.ColorToRGB(GetColor,R,G,B)//将0,0点颜色分割Msgbox"RGB值:"&R&","&G&","&B CallPlugin.Color.ColorToRGB(min,R1,G1,B1)//将最小范围颜色000000分割CallPlugin.Color.ColorToRGB(max,R2,G2,B2)//将最大范围颜色FFFF
10、FF分割S=S&"R:"