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

589次阅读  |  发布于5年以前

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8