Skip to content

A CircuitPython helper for brightness and gamma adjustment of an integer RGB color value.

License

Notifications You must be signed in to change notification settings

CedarGroveStudios/CircuitPython_ColorFader

Repository files navigation

Introduction

Discord Build Status Code Style: Black

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.

Dependencies

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.

Installing to a Connected CircuitPython Device with 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

Usage Example

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

Documentation

API documentation for this library can be found here.

For information on building library documentation, please check out this guide.

Contributing

Contributions are welcome! Please read our Code of Conduct before contributing to help this project stay welcoming.