更自然的颜色表示:是否可以将RGBA颜色转换为单个浮点值?

时间:2017-03-02 12:16:02

标签: grayscale rgba

是否可以将RGBA颜色表示为类似于视网膜刺激的单个值?这个想法是这样的:

  • 0.0黑色值(无刺激)
  • 1.0白色(完全刺激)

中间的RGBA颜色应该用能够捕捉它们对眼睛产生的刺激量的值来表示:

  • 非常浅黄色应具有非常高的价值
  • 非常深的棕色应该具有低值

有关于此的任何想法吗?转换为灰度是唯一的解决方案吗?

提前致谢!

1 个答案:

答案 0 :(得分:1)

将单个数字的特定位分配给RGBA的每个部分以表示您的数字。 如果每个部分是8位,则前8位可以分配给R,第二个8位分配给G,第三个8位分配给B,最后8位分配给A.

我们说你的RGBA值是= 15,4,2,1。每个给出4位。 在二进制中,R是1111,G是0100,B是0010,A是0001。 在一个简单的连接中,你的最终数字是二进制的1111010000100001,即62497.为了得到G,62497/256,将它四舍五入为整数,然后模16 16. 256是第二次幂的16,因为它是第二个位置从右边经过第一个位置(R需要第三个功率,B需要第一个功率)。 16是2到4的幂,因为我使用了4位。 62497/256 = 244,244%16 = 4.