def _rgba(color: Color, alpha: int) -> Color: """ Args: color: may be an RGB or RGBA color """ assert color.startswith('#') and len(color) in (7, 9), f'invalid RGB color: "{color}"' assert 0 <= alpha < 255, f'alpha out of range: {alpha}' return f'{color[:7]}{alpha:02x}'
def set_color_alpha(color: Color, alpha: int) -> Color: """ Args: color: may be an RGB or RGBA hex color string alpha: the new alpha value (0-255) """ assert color.startswith('#') and len(color) in ( 7, 9), f'invalid RGB color: "{color}"' assert 0 <= alpha < 255, f'alpha out of range: {alpha}' return f'{color[:7]}{alpha:02x}'
def set_color_alpha(color: Color, alpha: int) -> Color: """ Returns `color` including the new `alpha` channel in hex format: "#RRGGBBAA". Args: color: may be an RGB or RGBA hex color string alpha: the new alpha value (0-255) """ assert color.startswith('#') and len(color) in ( 7, 9), f'invalid RGB color: "{color}"' assert 0 <= alpha < 256, f'alpha out of range: {alpha}' return f'{color[:7]}{alpha:02x}'