RGB LED - 颜色值

时间:2013-04-17 20:51:16

标签: hex arduino byte rgb

我有一系列RGB LED灯连接到我的Arduino板,我正在尝试更改LED的值,唯一的问题是我似乎无法在HEX到RGB转换器上找到任何东西。

此外,RGB值与您得到的常规值(255,255,255)=白色不同。它们似乎是某种类型的字节格式(0x0ff)?我根本不熟悉。

有人能指出我如何将像'9cb261'这样的HEX颜色转换为RGB字节值的正确方向吗?

由于

1 个答案:

答案 0 :(得分:4)

十六进制只是编写相同数字的简便方式,如果您关注哪些位已设置且哪些位不是,则格式更容易阅读。

数字" 255"告诉你有2" 100s",5" 10s"和5" 1s"。换句话说,它是2" 10 ^ 2",5" 10 ^ 1"和5" 10 ^ 0"。

Hex是相同的想法,但我们使用16而不是使用10.因为每个地方可能有超过10个东西,我们在0-9之后添加字符a - f。

使用一个简短的例子," 9c"表示" 16 ^ 1"加上" 16 ^ 0"的c(12)个实例。这产生144 + 12或156。

" 0x" prefix只是告诉您以下字符串将被解释为十六进制字符串。

为了打破你的例子,Hex颜色9cb261只有3个字节(9c,b2,61)。 如果我们将字节转换回十进制,那么(9 * 16 + 12,11 * 16 + 2,6 * 16 + 1)或(156,178,97)

Wikipedia's Hexadecimal article.

上有完整的记录