我想用一种颜色为灰度图像着色。所以我有例如像素:RGB(34,34,34),我想用颜色着色:RGB(200,100,50)以获得新的RGB像素。所以我新手为图像中的每个像素做这个。
白色像素获得颜色:RGB(200,100,50),较暗的像素比RGB(200,100,50)颜色更深。
因此结果是灰度,黑色和选定的颜色而不是黑色和白色。
我将在没有任何内置功能的情况下对这个硬核进行编程。
答案 0 :(得分:2)
根据您的描述,我想你会找到一种混合算法。
您需要的是blendPercentage(bP)。
new red = red1 * bP + red2 *(1-bP)
新绿=绿1 * bP +绿2 *(1 - bP)
新蓝=蓝1 * 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
答案 1 :(得分:1)
您需要做的就是使用灰色与白色的比率作为颜色的乘数。我想你会发现这比混合效果更好。
new_red = gray * target_red / 255
new_green = gray * target_green / 255
new_blue = gray * target_blue / 255