import tkinter as tk from tkinter import ttk from tkinter.colorchooser import askcolor import colorsys def rgb_to_cmyk(r, g, b): if r == 0 and g == 0 and b == 0: return 0, 0, 0, 1 r = r / 255.0 g = g / 255.0 b = b / 255.0 k = 1 - max(r, g, b) c = (1 - r - k) / (1 - k) m = (1 - g - k) / (1 - k) y = (1 - b - k) / (1 - k) return c, m, y, k def choose_color(): color = askcolor()[1] label.configure(background=color) color_hex.set("Hex: #" + color[1:]) r, g, b = int(color[1:3], 16), int(color[3:5], 16), int(color[5:7], 16) color_rgb.set("RGB: ({}, {}, {})".format(r, g, b)) c, m, y, k = rgb_to_cmyk(r, g, b) color_cmyk.set("CMYK: ({:.2f}, {:.2f}, {:.2f}, {:.2f})".format(c, m, y, k)) h, s, v = colorsys.rgb_to_hsv(r/255, g/255, b/255) color_hsv.set("HSV: ({:.2f}, {:.2f}, {:.2f})".format(h, s, v)) root = tk.Tk() root.title("Advanced Color Picker") frame = ttk.Frame(root) frame.pack() button = ttk.Button(frame, text="Choose Color", command=choose_color) button.pack() label = ttk.Label(frame, text="Sample Text", background="white") label.pack(pady=20) color_hex = tk.StringVar() color_hex.set("Hex: #FFFFFF") hex_label = ttk.Label(frame, textvariable=color_hex) hex_label.pack() color_rgb = tk.StringVar() color_rgb.set("RGB: (255, 255, 255)") rgb_label = ttk.Label(frame, textvariable=color_rgb) rgb_label.pack() color_cmyk = tk.StringVar() color_cmyk.set("CMYK: (0.00, 0.00, 0.00, 1.00)") cmyk_label = ttk.Label(frame, textvariable=color_cmyk) cmyk_label.pack() color_hsv = tk.StringVar() color_hsv.set("HSV: (0.00, 0.00, 1.00)") hsv_label = ttk.Label(frame, textvariable=color_hsv) hsv_label.pack() root.mainloop()