-
Notifications
You must be signed in to change notification settings - Fork 3
Color Schemes
The Color()
class provides some convenience functions to work with color schemes. In the future, these would also be used to build color palettes. For now, the corresponding colors from a color scheme for a specific color can be generated like this:
from acrylic import Color, Schemes
cyan = Color(rgb=[83, 237, 229])
complementary_color = cyan.scheme(Schemes.COMPLEMENTARY)
cyan_triads = cyan.scheme(Schemes.TRIADIC)
cyan_shades = cyan.scheme(Schemes.SHADES)
Taking inspiration from traditional art where most of these color schemes originated from, these are calculated using the RYB
color wheel by default. To use the RGB
color wheel instead you can pass in_rgb=True
to the .scheme()
function:
cyan_triads = cyan.scheme(Schemes.TRIADIC, in_rgb=True)
Sometimes, you dont need exact values computed for a scheme, but would like to have the colors generated be a little "fuzzy". This adds a bit of variation and uniqueness, and when working with colors sometimes deviating from the rules can create interesting combinations. To add fuzziness to the generated colors, you can pass fuzzy=<int>
to .scheme()
function, and it will add a random number between -fuzzy
and +fuzzy
to all generated hues. If you are not sure what to use as the fuzzy
value, fuzzy=RANDOM
should work good enough. Example:
cyan_triads = cyan.scheme(Schemes.TRIADIC, fuzzy=20)
cyan_triads = cyan.scheme(Schemes.TRIADIC, fuzzy=RANDOM)