为了 这个项目 我使用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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top