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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于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()


执行效果例如以下图:

技术分享技术分享

以上是关于基于Tkinter利用python实现颜色空间转换程序的主要内容,如果未能解决你的问题,请参考以下文章

利用OpenCV的函数cvtcolor()进行颜色空间转换时需要注意的地方

python实现文件格式转换(tkinter)

简单实现图片颜色风格转换

简单实现图片颜色风格转换

简单实现图片颜色风格转换

基于RGB颜色空间使用OpenCV-Python实现照片换底