我们首先看一行代码int x, y 
dm.FindPic(0, 0, 2000, 2000, "xx.bmp", "102030", 0.9, 0, x, y) 
 
 
 
此处红色标记的就是我们经常用到的色偏,很多新手朋友不知道这个色偏是什么意思,是怎么计算的,糊里糊涂的就往上加 
反正有色偏,基本上就是对的~~我甚至看到有的人都把色偏加到了505050~~ 
今天在国外的论坛上看到了想过的讲解,借鉴着他们的知识,给大家介绍一下,算是借花献佛! 
讲的不好,勿喷! 
 
 
原理: 
首先,说下这个"102030",对应的就是 R-G-B 
R,red 红色 
G,green绿色 
B,blue蓝色 
红绿蓝,就是我们常说的三原色 
 
 
这张图片就是他们混合后的颜色 
 
 
这个图片比较直观,但是,他们是怎么反应出来的? 
这就涉及到稍微深一点的知识,二进制,十进制,和十六进制 
我们在用TC的找图时候,会提示我们在色偏处用#203040,就是说,这个位置是16进制的数据 
大漠的帮助文档中也说到,色偏"102030"也是表示的16进制 
二进制的表示方法 
00000000 00000000 00000000  相当于0 0 0 
十六进制的表示方法  0             0             0 
 
 
通常所说的二进制,就是1+1=10 
10+1=11 
11+1=100 
 
 
十六进制是1+1=2 
...... 
9+1=A 
A+1=B 
...... 
F+1=10 
 
 
可以通过计算器计算一下二进制的:11111111 就等于十六进制的FF 
这样的话 11111111 11111111 11111111 就等于十六进制的FF FF FF 
 
 
上面说的都是进制的基本问题,下面开始说重点: 
 
 
这个是在大漠工具上列出来的颜色清晰明了,白色,黑色,红绿蓝 
 
 
随便抓了两个颜色,色值分别是 c7af5c  ,  96abab 
对应的红绿蓝是 
红R 绿G 蓝B 
c7   af   5c 
96  ab   ab 
将对应的色值进行相减 
31  4    -4F 
当然这个取色是有点问题,不过用结果就可以了 
他们的色偏就是  根号下(31*31+4 *4 + 4F*4F) 
 
以前这个帖子有错误的地方,就是求这个偏差的时候对看过这个帖子造成误导的朋友深表歉意. 
如果还有错误,请各位及时指正,我会尽快向高手请教,进行修正. 
 
 
这也是融入我个人理解,如果有不对的地方请指正!! 
还有一点知识,隐藏了~~ 
 
 
看帖回帖,是我们继续发帖的动力!!! 
 
 
 
 
 |