PHP前端开发

python实现颜色空间转换程序(Tkinter)

百变鹏仔 15小时前 #Python
文章标签 转换程序

本文主要基于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()