2013-05-14 105 views
0

我想用一種顏色對灰度圖像着色。所以我有例如像素:RGB(34,34,34),我想用顏色:RGB(200,100,50)來獲得新的RGB像素。所以我新來做這個圖像中的每個像素。灰度圖像上的顏色

白色像素的顏色爲:RGB(200,100,50),深色像素的顏色比RGB(200,100,50)的顏色深。

所以結果是灰度黑色和選定的顏色,而不是黑色和白色。

我會編程這個硬核沒有任何內置函數。

與此類似:Image或本:Image

回答

1

所有你需要做的是使用的灰的比率,以白色爲乘數到你的顏色。我認爲你會發現這比混合效果更好。

new_red = gray * target_red/255 
new_green = gray * target_green/255 
new_blue = gray * target_blue/255 
+0

是的,這給了完美的結果,因爲混合使默認顏色更白。謝謝! – ButterBeast 2013-05-14 22:55:51

2

從你的描述我想你看的混合算法。

你需要的是一個blendPercentage(bP)。

新的紅色= RED1 * BP + RED2 *(1 - BP)
新綠色=綠1 * BP + Green2的*(1 - BP)
新藍色=藍天* BP +藍色2 *(1 - BP)

您的基本顏色是RGB 34 34 34;顏色混合是RGB 200 100 50
BlendingPercentage例如= 50% - > 0.5

因此:
新紅色= 34 * 0.5 + 200 *(1 - 0.5)= 117
新綠色= 34 * 0.5 + 100 *(1 - 0.5)= 67
新藍色= 34 * 0.5 + 50 *(1 - 0.5)= 42