#ff00ab是什么鬼?1分钟了解色彩
我们经常听到RGB, 特别对于网页设计者,在选颜色的时候,看到的颜色都是 #fff, #34220a这种代码,这些到底是啥呢?有没有可能一看到 #ff0abc 这种代码,大脑就可以浮现是什么样的颜色呢?答案是肯定的!
首先我们了解一下什么是RGB.
RGB就是英文 红( red ), 绿( green ), 蓝 ( blue )三个单词的首字母,是一种表示颜色的方法。也就是说在这种方法中用红,绿,蓝 来表示一切颜色。当然,还有其他表示颜色的方式,最常用也是最直观的就是RGB方式。
其中,每一个分量都用0~255来表示,你可以想象为每个颜色由红绿蓝三盏灯挤在一起,当三盏灯全部最亮(数值都为最大值255)的时候,组合出的颜色就是白色的。如果RGB为(0,0,0),也就意味着三盏灯全灭,也就是黑色了。那如果RGB为( 255,0,0)也就是最亮的红灯+灭掉的绿灯+灭掉的蓝灯,显然最终颜色为最红的红。
然后,你大脑里应该有不同颜色的两两组合结果,比如红+绿,当然是黄色( 你可以想象橘子,最开始为绿色,然后红色部分慢慢变多,就变成黄色,最后红色分量越来越多,就越来越偏向红了);再比如红+蓝,当然是紫色,你可以想象下红色分量越多的情况,以及蓝色分量越多的情况;在比如绿+蓝,其实就是一种湖水的青色(绿色湖水倒影蓝色天空就是这颜色,对不对?)
其实也就这三种组合,那有人会问,为什么不讨论三种颜色组合呢?因为如果三种颜色的分量都一样大,比如RGB:( 100, 100, 100 ), 也就是说红绿蓝三个分量不会偏向任何一种颜色,它表现出来的就是灰度(或者说是亮度)
这样,我们来思考下RGB( 100, 50, 20 )是怎样的颜色, 首先我们蓝色的部分不去考虑,因为蓝色是20, 红色里也有20, 绿色里也有20 ,这部分是抵消掉的(只会增加亮度),剩下的部分就是红色为100-20=80, 绿色的部分为50-20=30, 也就是不太亮的红(毕竟最亮为255)+更少的绿,最终结果就是那种非常暗的橘色(更偏向红色)
那#ff00ab这种代码就是什么含义呢?其实它是rgb颜色数字的16进制表示法,16进制中,每两个数字可以表示0~255, 比如#ff00ab , 你可以看成 ff, 00, ab 三个数的组合 ,因为是16进制,每一位可以表示0~15, 那超过9了怎么办呢? 就用a, b, c, d, e, f表示, 所以 f表示15, 那16进制的af,其实就是 f + a * 16 ( 也就是 15 + 10*16 = 175 ), 当然了,你完全不用计算, 你只要知道最大的肯定是ff( 也就是 255 )
所以#ff00ab , 就是红色是ff, 绿色是00 , 蓝色是ab , 红色是最亮,绿色没有, 蓝色也不少,毕竟都超过99了, 所以最终是明亮的紫色(偏向红的紫色)