Question

ce projet J'utilise les colorsys de Python pour convertir RVB HSV vice versa pour être en mesure de manipuler la saturation et la légèreté, mais j'ai remarqué que les résultats de certaines couleurs rendements.

Par exemple, si je prends des couleurs primaires il n'y a pas de problème:

Cependant, si j'ai choisi une couleur RVB aléatoire et le convertir à HSV, j'obtient parfois des résultats faux.

Parfois, ces résultats faux se produit quand j'augmenter ou diminuer la luminosité ou la saturation d'une couleur.

Dans cet exemple légèreté 10%, 20% et 100% de saturation sont fausses:

Je ne suis pas tout à fait sûr pourquoi il arrive, ni comment je résoudre ce problème ..

Était-ce utile?

La solution

Le problème est dans votre code 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

Lorsque votre valeur est inférieure à 16, vous dupliquez pour obtenir la valeur, autrement dit, multipliant par 17. Vous voulez ceci:

def dec2hex(d):
    """return a two character hexadecimal string representation of integer d"""
    return "%02X" % d
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top