2011-02-06 211 views
0

我有一組在RBG和CMYK中指定的顏色。我想混合一定數量的白色(以百分比給出)這些顏色。我如何根據可用的表示做到這一點?有人可以推薦一個可以幫助我進行這種顏色轉換的軟件包嗎?將白色混合爲一種顏色

+0

至少對於RGB顏色,我認爲您可以使用[colorsys模塊](http://docs.python.org/library/colorsys.html)並轉換爲HSL,更改亮度,然後返回rgb。 – 2011-02-06 21:25:40

回答

1

如果你RGB值r,0和255之間的G和B,並希望他們與x%的白色搭配,可以計算

r' = ((100 - x) * r + x * 255)/100 
g' = ((100 - x) * g + x * 255)/100 
b' = ((100 - x) * b + x * 255)/100 

如果你需要它是有效的,也有辦法用高效的位操作來做到這一點。

1

找出當前顏色與每個顏色通道的目標顏色之間的差異。計算你的差異的百分比。將此添加到原始值,即可完成。

例如,在75%的RGB(255,255,255)(白色)將RGB(255,127,0)爲您提供RGB(255,223,191)

  • R:255-255 = 0 *。 75 = 0 + 255 = 255
  • G:255 - 127 = 128 * 0.75 = 96 + 127 = 224
  • B:255 - 0 = 255 * 0.75 = 191 + 0 = 191)
0

您可以使用this lib將您的顏色轉換爲HSL,然後修改L部分並返回到以前的repr esentation,RGB或CMYK。