我正在寻找某种公式或算法来确定给定 RGB 值的颜色的亮度。我知道这不可能像将 RGB 值相加并获得更高的总和更亮那样简单,但我不知道从哪里开始。
该方法可能因您的需要而异。这里有3种计算亮度的方法:
亮度(某些色彩空间的标准):(0.2126*R + 0.7152*G + 0.0722*B) 来源
(0.2126*R + 0.7152*G + 0.0722*B)
亮度(感知选项 1):(0.299*R + 0.587*G + 0.114*B) 来源
(0.299*R + 0.587*G + 0.114*B)
亮度(感知选项 2,计算速度较慢): 鈫 � (感谢 sqrt( 0.241*R^2 + 0.691*G^2 + 0.068*B^2 ) @MatthewHerbst )来源sqrt( 0.299*R^2 + 0.587*G^2 + 0.114*B^2 )
sqrt( 0.241*R^2 + 0.691*G^2 + 0.068*B^2 )
sqrt( 0.299*R^2 + 0.587*G^2 + 0.114*B^2 )
[编辑:使用按每种方法排序的命名 css 颜色添加示例。]