You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							52 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
	
	
							52 lines
						
					
					
						
							1.5 KiB
						
					
					
				Color = lambda r, g, b: (r << 16) | (g << 8) | b | 
						|
 | 
						|
 | 
						|
def Color_to_list(color): | 
						|
    rgb = [(color >> 16) & 255, (color >> 8) & 255, color & 255] | 
						|
    w = (color >> 24) & 255 | 
						|
    if w: | 
						|
        rgb.append(w) | 
						|
    return rgb | 
						|
 | 
						|
 | 
						|
def Color_to_hex(color): | 
						|
    s = [(color >> 16) & 255, (color >> 8) & 255, color & 255] | 
						|
    return "#"+''.join(map(lambda y: ("0" + hex(int(y))[2:])[-2:], s)) | 
						|
 | 
						|
 | 
						|
def Color_to_rgb(color): | 
						|
    return (color >> 16) & 255, (color >> 8) & 255, color & 255 | 
						|
 | 
						|
 | 
						|
def hex_to_rgb(value): | 
						|
    value = value.lstrip('#') if value[0] == "#" else value | 
						|
    lv = len(value) | 
						|
    return [int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3)] | 
						|
 | 
						|
 | 
						|
def to_Color(value): | 
						|
    if type(value) == str: | 
						|
        r, g, b = hex_to_rgb(value) | 
						|
        return Color(r, g, b) | 
						|
    if type(value) == int: | 
						|
        if 0 <= value <= 16777215: | 
						|
            return value | 
						|
        else: | 
						|
            raise ValueError("RGB Int exceeded the lower and upper limits") | 
						|
    if type(value) == list or type(value) == tuple: | 
						|
        out = [] | 
						|
        for n, code in enumerate(value): | 
						|
            if not str(code).isnumeric(): | 
						|
                raise ValueError("RGB color must be numeric") | 
						|
            if n > 4: | 
						|
                raise ValueError("RGB contains more than 4 values") | 
						|
            _code = int(code) | 
						|
            if _code < 0: | 
						|
                print(f"RGB value under 0") | 
						|
                out.append(0) | 
						|
            elif _code > 255: | 
						|
                print(f"RGB value over 255") | 
						|
                out.append(255) | 
						|
            else: | 
						|
                out.append(_code) | 
						|
        return Color(out[0], out[1], out[2])
 | 
						|
 |