99 lines
2.1 KiB
Python
99 lines
2.1 KiB
Python
# colors.py - Color library for LED matrix
|
|
|
|
# Basic Colors
|
|
RED = (255, 0, 0)
|
|
GREEN = (0, 255, 0)
|
|
BLUE = (0, 0, 255)
|
|
|
|
# Primary Colors
|
|
YELLOW = (255, 255, 0)
|
|
MAGENTA = (255, 0, 255)
|
|
CYAN = (0, 255, 255)
|
|
|
|
# White and Black
|
|
WHITE = (255, 255, 255)
|
|
BLACK = (0, 0, 0)
|
|
|
|
# Grayscale
|
|
GRAY = (128, 128, 128)
|
|
LIGHT_GRAY = (192, 192, 192)
|
|
DARK_GRAY = (64, 64, 64)
|
|
|
|
# Warm Colors
|
|
ORANGE = (255, 165, 0)
|
|
PINK = (255, 192, 203)
|
|
HOT_PINK = (255, 105, 180)
|
|
CORAL = (255, 127, 80)
|
|
TOMATO = (255, 99, 71)
|
|
|
|
# Cool Colors
|
|
PURPLE = (128, 0, 128)
|
|
INDIGO = (75, 0, 130)
|
|
VIOLET = (238, 130, 238)
|
|
LAVENDER = (230, 230, 250)
|
|
|
|
# Earth Tones
|
|
BROWN = (165, 42, 42)
|
|
CHOCOLATE = (210, 105, 30)
|
|
SANDY_BROWN = (244, 164, 96)
|
|
GOLD = (255, 215, 0)
|
|
|
|
# Bright Colors
|
|
LIME = (0, 255, 0)
|
|
AQUA = (0, 255, 255)
|
|
TURQUOISE = (64, 224, 208)
|
|
SPRING_GREEN = (0, 255, 127)
|
|
|
|
# Pastel Colors
|
|
PASTEL_RED = (255, 128, 128)
|
|
PASTEL_GREEN = (128, 255, 128)
|
|
PASTEL_BLUE = (128, 128, 255)
|
|
PASTEL_YELLOW = (255, 255, 128)
|
|
PASTEL_PURPLE = (255, 128, 255)
|
|
PASTEL_CYAN = (128, 255, 255)
|
|
|
|
# Neon Colors
|
|
NEON_RED = (255, 0, 0)
|
|
NEON_GREEN = (57, 255, 20)
|
|
NEON_BLUE = (0, 0, 255)
|
|
NEON_YELLOW = (255, 255, 0)
|
|
NEON_PINK = (255, 0, 128)
|
|
NEON_ORANGE = (255, 128, 0)
|
|
|
|
# Rainbow Colors (for rainbow effects)
|
|
RAINBOW = [
|
|
(255, 0, 0), # Red
|
|
(255, 127, 0), # Orange
|
|
(255, 255, 0), # Yellow
|
|
(0, 255, 0), # Green
|
|
(0, 0, 255), # Blue
|
|
(75, 0, 130), # Indigo
|
|
(148, 0, 211), # Violet
|
|
]
|
|
|
|
# Holiday Colors
|
|
CHRISTMAS_RED = (255, 0, 0)
|
|
CHRISTMAS_GREEN = (0, 255, 0)
|
|
HALLOWEEN_ORANGE = (255, 140, 0)
|
|
HALLOWEEN_PURPLE = (128, 0, 128)
|
|
|
|
|
|
# Utility function to create custom colors
|
|
def rgb(r, g, b):
|
|
"""Create a color from RGB values (0-255)"""
|
|
return (r, g, b)
|
|
|
|
|
|
def hex_to_rgb(hex_color):
|
|
"""Convert hex color (#RRGGBB) to RGB tuple"""
|
|
hex_color = hex_color.lstrip('#')
|
|
return tuple(int(hex_color[i : i + 2], 16) for i in (0, 2, 4))
|
|
|
|
|
|
def fade_color(color1, color2, factor):
|
|
"""Fade between two colors (factor 0.0 to 1.0)"""
|
|
r = int(color1[0] + (color2[0] - color1[0]) * factor)
|
|
g = int(color1[1] + (color2[1] - color1[1]) * factor)
|
|
b = int(color1[2] + (color2[2] - color1[2]) * factor)
|
|
return (r, g, b)
|