十六进制<-> RGB <-> HSV色彩空间转换与Python
-
02-10-2019 - |
题
为了 这个项目 我使用Python的Colorsy将RGB转换为HSV VICE,以便能够操纵饱和度和亮度,但我注意到某些颜色会产生伪造的结果。
例如,如果我服用任何原色,则没有问题:
但是,如果我选择了随机的RGB颜色并将其转换为HSV,我有时会得到虚假的结果。
有时,当我增加或减少颜色的轻度或饱和度时,就会发生这些虚假的结果。
在此示例中,轻度10%,20%和饱和100%是虚假的:
我不太确定为什么会发生,也不应该如何解决此问题。
解决方案
问题在于您的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
不隶属于 StackOverflow