按键精灵使用大漠插件 计算色偏 和大漠相同么

文档分类:
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表学习脚本制作:用按键精灵找图找色.RGB分量之偏色和彩色图片转黑白.docx
文档介绍:
学习脚本制作:用按键精灵找图找色 RGB 分量之偏色与彩***片转黑白来源:按键学院【按键精灵】颜色对于制作脚本来说是至关重要的,找图找字找色都需要使用到颜色。所以,对颜色的认识是也是非常重要的。颜色知识大解剖【颜色是由三原色混合形成的】* 即红、绿、蓝。三原色可以混合出所有的颜色。* 我们通常把三原色简称为 RGB(R、G、B 是红(Red)、绿(Green)、蓝(Blue)的缩写)* R 的值区间是 0~255 这是十进制,转换成十六进制就是:00-FF (G、B 也是一样)【 RGB】*我们前面说,一个颜色是由三原色 RGB 构成的,例如白色(R、G、B 值都为 255 时显示白色):*十六进制表示:FFFFFF (十六进制一共有六位,每两位表示一个原色)*十进制表示:255,255,255【按键精灵颜色表示格式 BGR】应该有很多童鞋都知道,其实,我们按键的颜色表示并不是 RGB 的顺序来表示的,按键使用的表示方式是 BGR,把 R 和 B 的位置互换了。所以,有的时候,我们可能会遇到这样的情况:甲:“为什么!为什么我用 XX 颜色工具获取到的颜色不能识别!”乙:“哎呀,你看看你代码啊,那么乱说不定哪里错了。”甲:“滚!给我圆滚滚的滚!哥的代码虽乱但那都是精华,怎么会错。&甲因为不知道颜色知识,不知道按键颜色排列是 BGR,也不知道 xx 颜色工具获取的颜色排列是 RGB,所以苦恼了很久都没有找到问题所在。【 RGB 颜色格式转换为 BGR】如果我们遇到这样的情况怎么办呢?其实,解决方法不麻烦,你看,一个BGR 一个RGB,就是把 RB 的位置调换了而已,那再把它调回来不就得了么?问题是……要怎么个调法?例如:FF0033我们的思维很快,一秒钟就换过来了,RGB 变成 BGR 前后两位互调,那就是 3300FF换成代码思路也不麻烦:1、获取颜色值:FF0033 2、用字符处理函数分割获取到的颜色值:FF|00|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&Call Plugin.Color.B(GetColor, R, G, B)Msgbox & R:& & R & vbcrlf & & G:& & G & vbcrlf & & B:& & BRGB 分量之偏色【大漠找字中的偏色】上面说到,把颜色分割成 RGB 三原色(分割颜色又称为分量),那么,分割颜色除了转换 RGB,BGR 还有其它的功用吗?答案是肯定的,应该有很多童鞋都使用过大漠工具,在大漠工具找字里,可以设置偏色。偏色是什么呢?就是设定一个颜色范围,当获取的颜色在这个范围内的时候都能找到。对偏色不熟悉的童鞋可以看下我们之前的院刊帖子,关于大漠找字偏色的帖子:http://bbs./thread--1.html偏色,听起来很深奥的样子,它其实就是由我们的 RGB 分量来实现的。偏色大致思路:1、设置颜色范围例如:0000FF-FFFFFF2、获取颜色值,并且使用 B 命令把颜色值进行分量,赋值给变量 R、G、B3、获取颜色范围 0000FF,用 B 命令将它分量,赋值给变量 R1、G1、B1 4、获取颜色范围 FFFFFF,用 B 命令将它分量,赋值给变量 R2、G2、B2 5、判断颜色值是否超过设定的范围参考代码如下:min = &0000FF &max =&FFFFFF&GetColor=GetPixelColor(0, 0) //获取 0,0 点颜色Call Plugin.Color.B(GetColor, R, G, B) //将 0,0 点颜色分割Msgbox &RGB 值:&& R&&,&& G&&,&&BCall Plugin.Color.B(min, R1, G1, B1)//将最小范围颜色 000000 分割Call Plugin.Color.B(max, R2, G2, B2)//将最大范围颜色 FFFFFF 分割S = S & &R:& & R1 & &~& & R2 & vbcrlfS = S & &G:& & G1 & &~& & G2 & vbcrlfS = S & &B:& & B1 & &~& & B2 & vbcrlfMsgbox &RGB 分量区间(偏色范围):&& vbcrlf & vbcrlf & SIf R&= R2 and R&= R1 and G&= G2 and G&= G1 and B&= B2 and B&=B1 Then // 判断是否在000000-FFFFFF 范围内MessageBox &该点颜色值在&& min &&~& & max &&范围内。&ElseMessageBox &该点颜色值不在&& min &&~& & max &&范围内。&End IfRGB 分量之彩***片转黑白那我们的 RGB 分类还有没有其他的功用呢?答案是肯定的,例如,彩色照片转换成黑白照片,还有大漠工具里的二值化,这些都是通过 RGB 颜色分量来实现的。【那么,怎样才能让颜色二值化变成黑白两色呢?】首先,我们要先了解下一个阈值这个东西,它是基于图片亮度的一个黑白分界值,默认值是 50%中性灰,既 128,亮度高于 128(&50%的灰)的会变白,低于 128(&50%的灰)的会变黑.简单的理解:阈值就是颜色的分解线,利用这条分界线,我们就可以将彩色的图片转换为黑白的。【二值化转换思路】1、获取要转换为黑白颜色的图片区域2、取出区域里的每个像素点3、把这些像素点的颜色进行分量,如果 RGB 三原色的平均值大于 128 则把该像素点的颜色修改为白色,小于则修改为黑色(也可以大于 128 的修改为黑色,小于的为白色)参考代码如下:Dim My(63,63) //定义二维数组——需要二值化的区域For x= 0 To 63For y = 0 To 63GetColor = GetPixelColor(x, y) //获取区域里每个像素点的颜色If 二值化(GetColor) = 1 Then //调用二值化函数判断是当前颜色点是否大于 128My(x, y) = &000000& //小于则输出黑色ElseMy(x,y) = &FFFFFF& //大于则输出白色End IfNextNextFunction 二值化(sColor)二值化= 1Plugin.Color.B sColor, R, G, B //将颜色值分量If (R + G + B) / 3+1 &= 128 Then 二值化= 0 //如果 RGB 平均值大于 128End Fun1
内容来自淘豆网转载请标明出处.
浏览:33次& 鎸夐敭绮剧伒璋冪敤澶ф紶鎻掍欢瀹炵幇鍚庡彴缁戝畾
鎸夐敭绮剧伒璋冪敤澶ф紶鎻掍欢瀹炵幇鍚庡彴缁戝畾
浠婂ぉ涓

我要回帖

更多关于 按键精灵大漠插件下载 的文章

 

随机推荐