Frage

dieses Projekt ich Python colorsys verwenden RGB zu HSV umgekehrt zu konvertieren der Lage sein, Sättigung und Helligkeit zu manipulieren, aber ich bemerkte, dass einige Ergebnisse falsche Farben Erträge.

Zum Beispiel, wenn ich irgendwelche Grundfarben nehme es gibt kein Problem:

Allerdings, wenn ich eine zufällige RGB-Farbe gewählt und wandelt es in HSV, ich bekomme manchmal falsche Ergebnisse.

Manchmal ist diese falschen Ergebnisse treten auf, wenn ich die Helligkeit oder die Sättigung einer Farbe erhöhen oder verringern.

In diesem Beispiel Helligkeit von 10%, 20% und 100% Sättigung ist gefälschte:

Ich bin mir nicht ganz sicher, warum es passiert noch, wie ich sollte dieses Problem beheben ..

War es hilfreich?

Lösung

Das Problem ist in Ihrem DEC2HEX Code:

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

Wenn Ihr Wert kleiner als 16 ist, sind Sie es duplizieren den Wert zu erhalten, mit anderen Worten, es mit 17 multiplizieren Sie wollen, dass diese:

def dec2hex(d):
    """return a two character hexadecimal string representation of integer d"""
    return "%02X" % d
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top