2014-11-03 29 views
0

我想如果用戶給你一個顏色的RGB值多少色度與色調他們想打印出來寫一個程序使用RGB值的色度與色調的。基本上我只想打印出最左邊的顏色作爲用戶輸入的基本顏色,然後根據它的色調或色調是否變淺或變暗,直到變黑或變白。如何計算一些在python

例如:

用戶輸入:R = 255,G = 0,B = 0,numTints = 5,numShades = 8個

打印差別: 紅色,暗紅色,暗紅色暗,紅黑。

色調也一樣,只有變淡纔會變白。

我是新來的編程和Python,所以我有麻煩搞清楚如何計算的色度與色調,並將它停在黑色和白色。

回答

0

基本上你想保持組件之間的比例不變。因此,爲了使它變暗,只需將所有3個分量乘以一個常數即可。例如0.9 一次又一次,直到他們都是0,意味着黑色。

以更亮,乘以一個數大於1,並且夾在255

+0

我如何計算比例,使這將是一個甚至下降到黑色或增加白色基於有多少深淺或色調用戶想要。因此,如果他們想要4,6或9色調,我可以做些什麼計算來確定將rgb值乘以什麼? – user2052567 2014-11-03 18:15:14

+0

這是簡單的代數。如果您的最高分量值爲C,並且您需要N個步驟,則需要將C乘以係數F N次,使其變爲零。所以,C * F^N < 1 ==> F〜exp(log(1/C)/ N)[我只是從頭頂寫下來的,所以檢查一下數學] – Photon 2014-11-03 18:24:44

+0

糟糕,應該是:F =(1/C )^(1/N) – Photon 2014-11-03 18:33:34