本文主要基于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程序设计有所帮助。