2010-08-30 148 views
0

對於this project我使用Python的colorsys將RGB轉換爲HSV反之則能夠操縱飽和度和亮度,但我注意到,一些顏色產生虛假的結果。十六進制RGB <-> HSV <->色彩空間轉換與Python

例如,如果我採取任何基色沒有任何問題:

但是,如果我選擇了一個隨機的RGB顏色,並將其轉換爲HSV,我有時也得到虛假的結果。

有時這些假結果發生在我增加或減少顏色的亮度或飽和度時。

在這個例子中明度10%,20%和飽和度爲100%是假的:

我不太清楚爲什麼會發生,也不應該怎麼解決這個問題..

+0

你能發佈你的代碼嗎? – 2010-08-30 03:25:09

+0

您的圖像鏈接被損壞:( – Tony 2013-12-18 14:58:26

回答

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,你複製它獲得的價值,換句話說,1乘以7.你想要這個:

def dec2hex(d): 
    """return a two character hexadecimal string representation of integer d""" 
    return "%02X" % d 
+0

非常感謝:) – 2010-08-30 03:51:48

相關問題