【问题标题】:RGB LED - Colour ValuesRGB LED - 颜色值
【发布时间】:2013-04-10 19:19:57
【问题描述】:

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

此外,RGB 值与您得到的常规值不同,例如 (255,255,255) = 白色。它们似乎采用某种类型的字节格式(0x0ff)?我一点也不熟悉。

有人能指出我如何将像“9cb261”这样的十六进制颜色转换为 RGB 字节值的正确方向吗?

谢谢

【问题讨论】:

  • 什么样的RGB LED?它们只有 7 种颜色吗?

标签: hex arduino byte rgb


【解决方案1】:

十六进制只是写入相同数字的一种简写方式,如果您关心哪些位已设置,哪些未设置,则其格式更易于阅读。

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

十六进制是同样的想法,但不是使用 10,而是使用 16。由于每个地方可能有超过 10 个东西,我们在 0-9 之后添加字符 a - f。

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

“0x”前缀只是告诉您以下字符串将被解释为十六进制字符串。

分解您的示例,十六进制颜色 9cb261 只有 3 个字节(9c、b2、61)。 如果我们将字节转换回十进制,则为 (9*16+12, 11*16+2, 6*16+1) 或 (156, 178, 97)

Wikipedia's Hexadecimal article. 有完整的报道

【讨论】:

  • 谢谢 - 他们是我可以转换的系统吗,例如:255、255、255 成所需的格式?谢谢
  • 这里有一个从 RGB 到 HEX 的转换器:javascripter.net/faq/rgbtohex.htm
猜你喜欢
  • 1970-01-01
  • 2013-03-26
  • 2014-05-29
  • 2022-12-18
  • 2012-04-03
  • 1970-01-01
  • 1970-01-01
  • 2017-08-04
  • 1970-01-01
相关资源
最近更新 更多