Переназначение значений от мин / макс до макс / мин в дротик / флаттер - PullRequest
0 голосов
/ 01 июля 2019

Я разрабатываю приложение во Flutter через язык программирования Dart.Я пытаюсь управлять RGB-светодиодом через вызов HTTP-API.Проблема в том, что светодиод инвертирован по своим свойствам.Я не эксперт в этой теме, но я могу предоставить вам следующую информацию: При настройке значений r, g и b для светодиода каждому из них требуется целое число в диапазоне от 0 до 255. Эти значения передаются на светодиод черезПараметры URL-запроса.Проблема заключается в том, что светодиод отключает контакты, когда значение равно 255, и полностью их включает, если значение равно 0. Так как палитры цветов получают значение в обратном порядке (это означает, что красный цвет равен 255, а красный - 0)мне нужно как-то переназначить от 0 до 255 и наоборот.Также каждое значение от 0 до 255 необходимо переназначить, что означает, что 254 должно быть, например, 1.Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 01 июля 2019

Это математическая проблема, и я думаю, она довольно проста.

Поскольку вы знаете жестко закодированные значения, которые вам нужны, и предел [не более 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);
...