对于this project我使用Python的colorsys将RGB转换为HSV,反之亦然,以便能够操纵饱和度和亮度,但我注意到某些颜色会产生虚假结果。
例如,如果我采用任何原色,就没有问题:
然而,如果我选择随机RGB颜色并将其转换为HSV,我有时会得到虚假的结果。
当我增加或减少颜色的亮度或饱和度时,有时会出现这些虚假结果。
在这个例子中,亮度10%,20%和饱和度100%是假的:
我不太清楚为什么会这样,也不应该如何解决这个问题。
答案 0 :(得分:2)
问题在于你的dec2hex代码:
def dec2hex(d):
"""return a two character hexadecimal string representation of integer d"""
r = "%X" % d
return r if len(r) > 1 else r+r
当你的值小于16时,你复制它以获得值,换句话说,将它乘以17.你想要这个:
def dec2hex(d):
"""return a two character hexadecimal string representation of integer d"""
return "%02X" % d