ich arbeite gerade an einem "Farblimiter" - einer Funktion, welche dynamisch sicherstellen soll, dass Matrixeffekte nicht im Whiteout enden.
Mit der nscale8()-Methode kannst Du nie im Whiteout enden, denn sie verdunkelt einen Pixelwert nur, sie macht ihn nie heller. Wenn Du verhindern willst, dass der Pixel ganz schwarz wird, nimm nscale8_video() anstatt nscale8().
In Abhängigkeit dieser ermittelten Helligkeit möchte ich - wenn nötig - die Helligkeit jeder einzelnen LED mehr oder weniger runterskalieren. Ich möchte sozusagen eine durchschnittliche Zielhelligkeit einstellen.
Soll das heissen, Du möchtest mit der Funktion sicherstellen, dass der ermittelte Wert "bright" nach der Ausführung einen konstanten Wert hat? Mit nscale8() kannst Du aber nur runterdimmen, nie rauf, somit kannst Du den konstanten Wert nicht erreichen, falls "bright" zu tief ist. Oder habe ich immer noch etwas falsch verstanden?