zoukankan      html  css  js  c++  java
  • 基于Tkinter利用python实现颜色空间转换程序

    主要基于colorsys实现,例子是从hls转换到rgb,假设要换颜色空间非常easy仅仅须要改动一个函数

    用到了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()
    

    执行效果例如以下图:


  • 相关阅读:
    【原】 POJ 1012 Joseph 约瑟夫 解题报告
    【原】 POJ 1001 Exponentiation 大整数乘法 解题报告
    POJ——1517
    毕业了,校园里走走看看——华中科技大学
    毕业答辩后
    CV编程常用的获取鼠标圈定区域的方法
    送走了GB
    POJ——2546
    奥巴马在YY21#524
    POJ——3517
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/4003917.html
Copyright © 2011-2022 走看看