在 Dart / Flutter 中将值从 min/max 重新映射到 max/min
Remapping values from min/max to max/min in Dart / Flutter
我正在通过 Dart 编程语言在 Flutter 中开发一个应用程序。
我正在尝试通过 HTTP-API 调用来控制 RGB-LED。我遇到的问题是,LED 的属性颠倒了。我不是该主题的专家,但我可以为您提供以下信息:
为 LED 设置 r、g 和 b 值时,每个值都需要一个介于 0 到 255 之间的整数。这些值通过 URL 查询参数发送到 LED。问题是,当值为 255 时 LED 关闭引脚,如果值为 0 则将它们完全打开。
由于颜色选择器以相反的顺序获取值(意味着全红色为 255,没有红色为 0),我需要以某种方式将 0 重新映射到 255,反之亦然。此外,0 到 255 之间的每个值都需要重新映射,例如,这意味着 254 需要为 1。
任何帮助将不胜感激。
这是一道数学题,我觉得很简单。
因为您知道所需的硬编码值和限制 [不大于 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);
我正在通过 Dart 编程语言在 Flutter 中开发一个应用程序。 我正在尝试通过 HTTP-API 调用来控制 RGB-LED。我遇到的问题是,LED 的属性颠倒了。我不是该主题的专家,但我可以为您提供以下信息: 为 LED 设置 r、g 和 b 值时,每个值都需要一个介于 0 到 255 之间的整数。这些值通过 URL 查询参数发送到 LED。问题是,当值为 255 时 LED 关闭引脚,如果值为 0 则将它们完全打开。 由于颜色选择器以相反的顺序获取值(意味着全红色为 255,没有红色为 0),我需要以某种方式将 0 重新映射到 255,反之亦然。此外,0 到 255 之间的每个值都需要重新映射,例如,这意味着 254 需要为 1。 任何帮助将不胜感激。
这是一道数学题,我觉得很简单。
因为您知道所需的硬编码值和限制 [不大于 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);