Spaces:
Sleeping
Sleeping
from typing import NamedTuple, Tuple | |
class ColorTriplet(NamedTuple): | |
"""The red, green, and blue components of a color.""" | |
red: int | |
"""Red component in 0 to 255 range.""" | |
green: int | |
"""Green component in 0 to 255 range.""" | |
blue: int | |
"""Blue component in 0 to 255 range.""" | |
def hex(self) -> str: | |
"""get the color triplet in CSS style.""" | |
red, green, blue = self | |
return f"#{red:02x}{green:02x}{blue:02x}" | |
def rgb(self) -> str: | |
"""The color in RGB format. | |
Returns: | |
str: An rgb color, e.g. ``"rgb(100,23,255)"``. | |
""" | |
red, green, blue = self | |
return f"rgb({red},{green},{blue})" | |
def normalized(self) -> Tuple[float, float, float]: | |
"""Convert components into floats between 0 and 1. | |
Returns: | |
Tuple[float, float, float]: A tuple of three normalized colour components. | |
""" | |
red, green, blue = self | |
return red / 255.0, green / 255.0, blue / 255.0 | |