A CircuitPython helper for brightness and gamma adjustment of an integer RGB
color value. Gamma is optionally applied after the brightness calculation.
Transparency is preserved. Returns an adjusted integer color value.
To adjust a displayio
palette or multiple color list, use the
cedargrove_palettefader.PaletteFader
class.
This driver depends on:
Please ensure all dependencies are available on the CircuitPython filesystem. This is easily achieved by downloading the Adafruit library and driver bundle or individual libraries can be installed using circup.
Make sure that you have circup
installed in your Python environment.
Install it with the following command if necessary:
pip3 install circup
With circup
installed and your CircuitPython device connected use the
following command to install:
circup install cedargrove_colorfader
Or the following command to update an existing version:
circup update
Scale a 24-bit RGB source color value in proportion to the brightness setting (0 to 1.0). The adjusted color's gamma value is typically from 0.0 to 2.0 with a default of 1.0 for no gamma adjustment. Returns an adjusted 24-bit RGB color value or None if the source color is None (transparent).
>>> from cedargrove_colorfader import color_fader
>>> # Dim a pure red color to 50%; no gamma adjustment
>>> print(hex(color_fader(source_color=0xFF0000, brightness=0.5, gamma=1.0)
0x7f0000
API documentation for this library can be found here.
For information on building library documentation, please check out this guide.
Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.