0

我正在通过 Dart 编程语言在 Flutter 中开发应用程序。我正在尝试通过 HTTP-API 调用来控制 RGB-LED。我遇到的问题是,LED 的属性是倒置的。我不是该主题的专家,但我可以为您提供以下信息:在为 LED 设置 r、g 和 b 值时,它们中的每一个都需要一个介于 0 到 255 之间的整数。这些值通过以下方式发送到 LED网址查询参数。问题是,当值为 255 时,LED 会关闭引脚,如果值为 0,则将它们完全打开。由于颜色选择器以相反的顺序获取值(意味着全红色是 255,没有红色是 0)我需要以某种方式重新映射 0 到 255,反之亦然。此外,0 到 255 之间的每个值都需要重新映射,这意味着例如 254 需要为 1。

4

1 回答 1

0

这是一个数学问题,我认为很容易。

因为您知道您需要的硬编码值,以及限制 [不大于 255]

你需要

255 -> 0

254 -> 1 //不是 2 -.-

10 -> 245

你可以加减法

255 - 255 = 0

255 - 254 = 1

255 - 10 = 245

并编写一个简单的函数,例如

int invertNumber(int initialNumber){
    return 255 - initialNumber;
}

并称它为

int invertedNumber = invertNumber(40);
于 2019-06-30T22:27:57.627 回答