我需要用一种自然的方式混合一些颜色。这意味着
blue + yellow = green
blue + red = purple
等等,我得到的颜色是以RGB值表示的。当我尝试混合它们时,我得到了正确的“RGB”结果,例如:
green + red = yellow
yellow + blue = white
但没有得到正确的“自然湿润油漆”效果。有什么好的方法可以以自然的方式混合RGB颜色吗?
如果有人知道在Microsoft.Xna.Framework.Graphics
命名空间中的解决方案,那就太好了,但通用的解决方案也会有所帮助 :)
@Jay Bazuzi:
请发布一个代码示例,显示您要做什么。
当然 - 这是我混合两种RGB颜色的函数。
public Color colorMixer(Color c1, Color c2)
{
int _r = Math.Min((c1.R + c2.R),255);
int _g = Math.Min((c1.G + c2.G),255);
int _b = Math.Min((c1.B + c2.B),255);
return new Color(Convert.ToByte(_r),
Convert.ToByte(_g),
Convert.ToByte(_b));
}
我在这个讨论串中所了解到的,非常有前途 - 我将把 C1 和 C2 转换为 Lab*,混合它们 - 再将其转换回 RGB 并返回该颜色。