在 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);