我使用python的colorsys库将RGB颜色值转换为HLS。为了验证,我尝试转换回RGB,并获得了不同的值。由于精确度问题,我可以理解细微的差异,但这些值有显着不同。将RGB转换为HLS并返回
这里是我的代码:
import colorsys
r=192
g=64
b=1
hlsval = colorsys.rgb_to_hls(r,g,b)
rgbval=colorsys.hls_to_rgb(hlsval[0],hlsval[1],hlsval[2])
print hlsval, rgbval
输出:
(0.16666666666666666, 96.5, -1.0) (191.99999999999994, 192.0, 1.0)
绿色值是关闭的,每次都超过200%
我尝试了一些其他的价值,以及组件之一已经有很大的数量了。我错过了什么吗?
值? – 2013-03-15 21:27:50
@AshwiniChaudhary:很显然,他在某处有相当于'a,b,c = r,g,b'的位置(或者他没有忘记编辑他的代码来使用'r,g,b'而不是'a,b,c'或者其他),因为这些就是你用'a,b,c = 192,64,1'得到的值。 – abarnert 2013-03-15 21:35:58
对,对不起。我现在纠正了它。 – user2175594 2013-04-22 03:59:02