Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import cv2 | |
| import numpy as np | |
| import random | |
| # Convert decimal color to hexadecimal color | |
| def RGB_to_Hex(rgb): | |
| color = "#" | |
| for i in rgb: | |
| num = int(i) | |
| color += str(hex(num))[-2:].replace("x", "0").upper() | |
| return color | |
| # Randomly generate light or dark colors | |
| def random_color(is_light=True): | |
| return ( | |
| random.randint(0, 127) + int(is_light) * 128, | |
| random.randint(0, 127) + int(is_light) * 128, | |
| random.randint(0, 127) + int(is_light) * 128, | |
| ) | |
| def switch_color(color_style): | |
| if color_style == "light": | |
| is_light = True | |
| elif color_style == "dark": | |
| is_light = False | |
| back_color_ = random_color(is_light) # Randomly generate colors | |
| back_color = RGB_to_Hex(back_color_) # Convert to hexadecimal | |
| # Draw color pictures. | |
| w, h = 50, 50 | |
| img = np.zeros((h, w, 3), np.uint8) | |
| cv2.rectangle(img, (0, 0), (w, h), back_color_, thickness=-1) | |
| return back_color, back_color, img | |
| inputs = [gr.Radio(["light", "dark"], value="light")] | |
| outputs = [ | |
| gr.ColorPicker(label="color"), | |
| gr.Textbox(label="hexadecimal color"), | |
| gr.Image(type="numpy", label="color picture"), | |
| ] | |
| title = "Color Generator" | |
| description = ( | |
| "Click the Submit button, and a dark or light color will be randomly generated." | |
| ) | |
| demo = gr.Interface( | |
| fn=switch_color, | |
| inputs=inputs, | |
| outputs=outputs, | |
| title=title, | |
| description=description, | |
| ) | |
| if __name__ == "__main__": | |
| demo.launch() | |