基于Tkinter利用python实现颜色空间转换程序

来源:互联网 发布:工匠精神与软件质量 编辑:程序博客网 时间:2024/06/05 08:53

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

运行效果如下图:


0 0
原创粉丝点击