本文主要基于colorsys實現,樣例是從hls轉換到rgb,如果要換顏色空間很容易只需要修改一個函數,具體內容如下
用到了Scale和Canvas組件。
運行效果圖:
代碼如下:
from Tkinter import * import colorsys #操作后的響應函數 def update(* args): 'color' r,g,b = colorsys.hls_to_rgb(h.get() / 255.0, l.get() / 255.0, s.get() / 255.0) r,g,b = r * 255, g * 255, b * 255 rgb.configure(text = 'RGB:(%d, %d, %d)' % (r, g, b)) c.configure(bg = '#%02X%02X%02X' %(r, g, b)) root = Tk() hue = Label(root, text = 'Hue') hue.grid(row = 0, column = 0) light = Label(root, text = 'Lightness') light.grid(row = 0, column = 1) sat = Label(root, text = 'Saturation') sat.grid(row = 0, column = 2) #初始化顏色為rgb的000,也就是純黑色 rgb = Label(root, text = 'RGB(0, 0, 0)') rgb.grid(row = 0, column = 3) h = Scale(root, from_ = 255, to = 0, command = update) h.grid(row = 1, column = 0) l = Scale(root, from_ = 255, to = 0, command = update) l.grid(row = 1, column = 1) s = Scale(root, from_ = 255, to = 0, command = update) s.grid(row = 1, column = 2) c = Canvas(root, width = 100, height = 100, bg = 'Black') c.grid(row = 1, column = 3) root.mainloop()
以上就是本文的全部內容,希望對大家的學習Python程序設計有所幫助。