Colors 颜色-R、G、B值。使一种颜色出现;“打火机”;对人的眼睛来说。有人能给我解释一下吗?

Colors 颜色-R、G、B值。使一种颜色出现;“打火机”;对人的眼睛来说。有人能给我解释一下吗?,colors,Colors,我只是简单地解释一下我是如何回答这个问题的。我有一个ruby模块,它基本上是一个散列,它给我HTML“颜色”,比如“slateblue”,并给我返回一个数组,它保存R、G、B值,比如slateblue的[106、90、205] 我在谷歌上搜索如何将这些R,G,B值变成更浅的颜色(鼠标光标悬停时的效果),有几个人告诉其他人,当他们遇到类似问题时,只需增加R,G,B值。我目前的解决方案是将R、G、B值加上+20(上限为255),然后将其转换成一个hexstring#FF0000之类的值 这似乎是可行

我只是简单地解释一下我是如何回答这个问题的。我有一个ruby模块,它基本上是一个散列,它给我HTML“颜色”,比如“slateblue”,并给我返回一个数组,它保存R、G、B值,比如slateblue的[106、90、205]

我在谷歌上搜索如何将这些R,G,B值变成更浅的颜色(鼠标光标悬停时的效果),有几个人告诉其他人,当他们遇到类似问题时,只需增加R,G,B值。我目前的解决方案是将R、G、B值加上+20(上限为255),然后将其转换成一个hexstring#FF0000之类的值

这似乎是可行的,但现在的问题是——我完全不明白为什么会这样


是否0始终表示R/G/B的最低值,255始终表示最高值?如果是这样的话,为什么它的上限是255,而不是1024或其他任意数字呢?

每个颜色通道使用8位-红色、绿色和蓝色各一位-产生大量颜色(2^24或16777216),并且足以在大多数应用中使用。请注意,还有其他精度更高的颜色格式

0表示黑色,255(存储在8位中的最大值)表示“完全打开”颜色

向每个通道添加特定数字会将整个颜色移向(255、255、255)或白色。如果您想更准确地照亮颜色,可以尝试将RGB颜色转换为HSL,仅对灯光组件进行添加,然后再转换回RGB

你可以在这里开始HSL的研究:

你读过例如吗?(该页面上的快速“查找”将显示255的重要性。)